API Server의 역할
Kubernetes API Server는 REST 기반의 인터페이스를 통해 클러스터의 모든 작업을 중개합니다. kubectl 명령, 다른 제어 평면 컴포넌트(kube-scheduler, kube-controller-manager), 그리고 kubelet 모두 API Server를 통해 통신하며, API Server는 이러한 모든 요청을 검증하고 etcd에 상태 데이터를 저장 및 조회합니다.
아키텍처의 특징
kube-apiserver는 수평 확장(horizontal scaling)을 위해 설계되었으며, 여러 인스턴스를 로드 밸런서 뒤에서 실행할 수 있습니다. 제어 평면과 워커 노드 간의 모든 통신은 TLS로 암호화되어 무단 접근을 방지합니다. API Server는 CustomResourceDefinition(CRD)과 API Aggregation Layer를 통해 기능을 확장할 수 있어, 클러스터의 표준 API를 수정하지 않으면서도 사용자 정의 리소스를 추가할 수 있습니다.
요청 처리 파이프라인
모든 API 요청은 HTTP 핸들러에서 수신된 후 인증(Authentication), 권한 부여(Authorization), 입력 값 검증(Validation), 뮤테이션 어드미션 컨트롤러(Mutation Admission Controller)를 거쳐 etcd에 저장됩니다. 이 다층 구조는 보안 정책 적용과 데이터 무결성 보장을 위한 필수적인 메커니즘입니다.