4.1 쿠버네티스 클러스터의 전체 구조

쿠버네티스 클러스터는 크게 두 종류의 서버로 구성함

마스터 - 클러스터를 관리

노드 - 실제 컨테이너를 실행

Untitled

마스터 안을 자세히 들여다 보자! 마스터 안에는 다양한 컴포넌트가 실행됨 (etcd, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy, docker 등의 컴포넌트)

Untitled

실제 사용하는 컨테이너의 대부분은 노드에서 실행됨

각 컴포넌트의 중심에 kube-apiserver가 있음, 쿠버네티스의 모든 통신은 kube-apiserver가 중심, 이것을 거쳐 다른 컴포넌트가 서로 필요한 정보를 주고 받음

특히 etcd에는 kube-apiserver만 접근 가능

마스터에서, kublet이 마스터에 있는 도커를 관리하고, 도커 안에는 쿠버네티스 관리용 컴포넌트가 있음

etcd는 컨테이너가 아니라 별도의 프로세스로 설정됨, 컨테이너가 아닌 서버 프로세스로 실행하도록 구성할 수 있음

노드도 kubelet으로 도커를 관리함, kubelet은 마스터의 kube-apiserver와 통신하면서 파드의 생성, 관리, 삭제를 담당함 (파드의 스펙을 이용하여 실행 및 헬스 체크)

Untitled