Part II. 클러스터 아키텍처
Kubernetes 클러스터는 결정을 내리는 control plane과 그 결정을 실행하는 노드로 나뉜다. 컴포넌트는 여럿이지만 통신 구조는 하나의 규칙으로 정리된다. 어떤 컴포넌트도 서로 직접 대화하지 않고 전부 kube-apiserver를 경유한다는 규칙이다. 스케줄러도, 컨트롤러 매니저도, 각 노드의 kubelet과 kube-proxy도 apiserver를 감시하다가 자기 몫의 일을 처리하고 결과를 다시 apiserver에 기록한다. 이 Part는 그 허브에서 출발해 상태 저장소 etcd, 결정을 담당하는 스케줄러와 컨트롤러, 노드에서 실행을 담당하는 kubelet과 kube-proxy까지 각 컴포넌트의 자리를 차례로 확인한다.
- 2.1 전체 구조: control plane과 노드 — 컴포넌트 지도·hub-and-spoke
- 2.2 kube-apiserver — 인증·인가·어드미션·watch
- 2.3 etcd — Raft·쿼럼·MVCC·compaction
- 2.4 스케줄러와 컨트롤러 매니저 — 노드 배정·reconciliation loop
- 2.5 kubelet과 컨테이너 런타임 — CRI·static Pod·PLEG·Lease
- 2.6 kube-proxy와 애드온 — iptables·IPVS·CoreDNS·CNI