클러스터 아키텍처
컨트롤 플레인
클러스터의 두뇌 역할을 하며 컨테이너 스케줄링, 서비스 관리,
API
요청 관리
kube-apiserver
컨트롤 플레인의 프런트엔드 서버로
API
요청을 처리
etcd
어떤 노드가 존재하고 클러스터에 어떤 리소스가 존재하는지와 같은 쿠버네티스와 관련된 모든 정보를 저장하는 데이터베이스
kube-scheduler
새로 생성된
파드
를 실행할 노드를 결정
kube-controller-manager
디플로이먼트
와 같은 리스소 컨트롤러를 관리
cloud-controller-manager
클라우드 기반 클러스터는 클라우드 업체와 연동하여 로드 밸런서나 디스크 볼륨과 같은 자원을 관리
노드 컴포넌트
워커 노드
는 클러스터 내에서 사용자의
워크로드
를 실행
kubelet
노드에 예약된 워크로드를 실행하기 위해 컨테이너 런타임을 관리하고 상태를 모니터링
kube-proxy
서로 다른 노드에 있는 파드 간 통신이나 파드와 인터넷 사이의 네트워크 트래픽을 라우팅
컨테이너 런타임
컨테이너를 시작하고 중지하며 컨테이너 간 통신을 처리
일반적으로
도커
가 사용되지만
쿠버네티스
는
rkt
나
CRI-O
와 같은 다른 컨테이너 런타임도 지원
고가용성
컨트롤 플레인 장애
워커 노드 장애
관련 문서
Kubernetes