본문 바로가기
  • 오늘처럼

분류 전체보기194

Kubernetes package binary 파일 정합성 확인하기 Kubernetes 설치에 필요한 패키지들은 다음의 공식 github 페이지에서 다운로드가 가능하다. https://github.com/kubernetes/kubernetes/releases Releases · kubernetes/kubernetes Production-Grade Container Scheduling and Management - kubernetes/kubernetes github.com 바이너리 파일은 인터넷 서버에 위치하여 사용자는 브라우저 다운로드나 curl, wget 등의 os tool 로 다운로드 받을 수 있다. 그런데 이렇게 네트워크 망을 통해 다운로드를 받을 때 중간에 공격자에 의해서 파일이 변조 될 수 있다. 변조 된 파일로 설치한 kubernetes 클러스터에는 의도되지 .. 2022. 7. 25.
[해운대 복 지리] 해운대 초원 복국 해운대 여행의 마지막 날, 복 지리를 먹으러 초원 복국에 다녀왔다. 여행을 다녀온 후에 정리를 조금 늦게 하다보니 블로그에 정리하는 지금은 여름이 되었지만, 실제로 다녀온 이 날은 4월로 벚꽃이 피는 봄이었다. 가려던 두 군데 중 초원복국으로 가기로 했는데 이렇게 와서 보니 식당이 한 층 정도가 아니라 건물 전체였다. 필로티 형식으로 된 건물에서 실제로 식당은 2,3층이고 1층은 주차 공간으로 사용하고 있었다. 그런데 주차 공간이 그렇게 크지는 않았고, 우리가 갔을 때에도 그랬지만 수산물 트럭이 와서 복을 옮겨놓는 그런 공간으로 사용되는 듯 하다. 1층의 입구에서 올라와 2층의 식당으로 들어왔다. 조금 이른 시간에 식당에 도착해서 마침 빈 식당의 내부를 찍을수 있었다. 건물 자체가 조금 오래된 구조였는데.. 2022. 7. 25.
Kubectl 명령어의 Proxy, Port-Forward 기능 Kubernetes Cluster 에서 수행되는 모든 작업은 kube-api server 에 의해서 이루어진다. 그렇기에 사용자는 kube-api server와 통신하기 위해 다음의 2가지 방식을 사용한다. kubectl client tool 을 사용하여 kube-api server 와 상호작용(interaction) curl 명령을 사용하여 kube-api server 에 REST API 통신 여기서 1번째 방식인 kubectl 클라이언트 툴을 사용할 경우, 별도의 authentication 이나 authorization 에 해당하는 설정을 할 필요가 없다. 이미 사용자 홈 디렉토리(root 유저일 경우 /root/.kube)에 config 설정 파일이 있고, kubectl 명령이 수행 될 때 자동으로.. 2022. 7. 15.
Kubelet authenticatoin/authoziation Kubernetes cluster 에서 worker node 는 master node 에 있는 controlplane 인 kube-api server 와 통신하여 클러스터를 구성하게 된다. 이 때 노드에서는 kubelet 프로세스가 이 작업을 수행하는데, 여기에서는 kubelet 의 역할과 kubelet 에 대한 authentication(인증) / authorization(권한 관리) 방법에 대하여 알아보고 kubelet 과 worker 노드를 안전하게 지키기 위하여 권장되는 방법을 확인해본다. 1. kubelet 의 역할 먼저 kubelet 은, kubeadm 등의 도구와 함께 사용되어, kubernetes cluster 에 worker 노드를 등록해주는 역할을 한다. 정상적으로 등록이 된 후 kub.. 2022. 7. 14.
Kubernetes Authorization (권한 검사 및 부여) 1. Kubernetes Authorization Kubernetes 클러스터 안에서, 사용자는 curl 통신을 수행하거나 kubectl / kubeadm 등의 명령어를 이용하여 Kube-API Server 에 접근하고 이를 통해 클러스터 전체를 관리하게 된다. 클러스터의 관리자(Administrator of Cluster) 로서 사용자는 는 Deployment 를 생성하여 Pod를 관리하거나, Node 를 생성하거나 혹은 삭제하는 등의 리소스에 대한 모든 행동(action - verb)을 수행할 수 있다. 하지만 실제 클러스터를 관리함에 따라, 다양한 성격의 관리자나 개발자 혹은 테스터와 같은 사용자들이 클러스터에 접근하게 되는데, 이들에게는 각각 역할에 따라 크고 작은 다양한 권한이 필요하다. 예를 .. 2022. 7. 13.
Kubernetes API Version / Groups Kubernetes 클러스터는 Control plane 구성요소로 Kube Controller, Kube Scheduler 등이 있지만 가장 핵심이 되는 구성 요소는 Kube API Server 이다. 사용자는 이 API 서버에서 제공하는 API를 통하여 Kubernetes 의 모든 오브젝트를 관리할 수 있다. 또한 대부분의 API 는 kubectl 명령어 / kubeadm 명령어로도 동일한 기능을 제공한다. 다음은 파드 정보를 조회하는 명령어의 예시이다. #1. curl 명령을 통한 default 네임스페이스의 파드 조회 curl -k http://localhost:8001/api/v1/namespaces/default/pods { "kind": "PodList", "apiVersion": "v1", .. 2022. 7. 12.