토픽 26 / 107·컨테이너 오케스트레이션
Kubernetes 아키텍처
Kubernetes 아키텍처
Kubernetes 클러스터를 구성하는 Control Plane과 Worker Node의 구성요소 및 상호작용 구조로, 분산 시스템 원리에 기반하여 고가용성, 확장성, 자가 치유 기능을 제공
특징: Master-Worker 분리 구조, 선언적 상태 관리, 컨트롤 루프 기반 자가 치유, etcd 기반 분산 합의
고가용성(HA) 아키텍처: 단일 마스터(1개 API Server/1개 etcd 또는 외부/1개 Scheduler/1개 Controller Manager/SPOF 존재) vs 다중 마스터(3개+ API Server 로드밸런서 앞단/3개+ etcd Raft 합의/리더 선출 1 Active Scheduler/리더 선출 1 Active Controller Manager/마스터 장애 허용)
클러스터 네트워킹 요구사항: Pod-to-Pod(모든 Pod는 NAT 없이 다른 Pod와 통신), Node-to-Pod(모든 노드는 NAT 없이 모든 Pod와 통신), Pod IP 일관성(Pod가 보는 자신의 IP = 다른 Pod가 보는 IP)
비교: 단일 마스터(단순/SPOF 존재/개발 환경) vs 다중 마스터(HA/복잡/프로덕션 필수)
연관: Kubernetes, etcd, 고가용성, 분산 시스템