마스터용 컴포넌트는 실제 클러스터 전체를 관리
etcd
🔠 Extended Distributed Consensus 약자 이며 분산시스템에서 데이터 저장과 조회를 위한 일관된 키-값 저장소이며 쿠버네티스에서는 필요한 모든 데이터를 저장하는 데이터베이스 역할을 합니다.
- 서버 하나당 프로세스 1개만 사용 가능
- 보통 etcd 자체를 클러스터링 한 후 여러 개 마스터 서버에 분산해서 실행해 데이터의 안정성을 보장하도록 구성
- 주기적으로 etcd에 있는 데이터를 백업(권장사항)
kube-apiserver
🔠 쿠버네티스 클러스터의 API를 사용할 수 있도록 하는 컴포넌트이며 클러스터로 온 요청이 유효한지 검증합니다.
- 쿠버네티스 API 스펙에 맞춰 클러스터의 특정 네임스페이스에 존재하는 디플로이먼트 목록 조회 요청
- 요청에 사용된 토큰이 해당 네임스페이스와 자원을 대상으로 요청을 실행할 권한이 있는지 검사
- 디플로이먼트 목록을 조회하여 Return
Kube-scheduler
🔠 현재 클러스터 안에서 자원 할당이 가능한 노드 중 알맞은 노드를 선택하여 새롭게 만든 파드를 실행하는 컴포넌트
Kube-controller-manager
🔠 쿠버네티스는 파드들을 관리하는 컨트롤러가 있습니다. Kube-controller-manager는 컨트롤러 각각을 실행하는 컴포넌트
cloud-controller-manager
🔠 쿠버네티스의 컨트롤러들을 클라우드 서비스와 연결해 관리하는 컴포넌