Master 상세 - etcd(엣지디)
- 모든 상태와 데이터를 저장
- 분산 시스템으로 구성하여 안정성을 높임(고가용성)
- 가볍고 빠르면서 정확하게 설계(일관성))
- Key(directory)-Vaule 형태로 데이터 저장
- TTL(time to live), watch 같은 부가 기능 제공
- 백업은 필수!!!
Master 상세 - API server
- 상태를 바꾸거나 조회
- etcd와 유일하게 통신하는 모듈
- REST API 형태로 제공
- 권한을 체크하여 적절한 권한이 없을 경우 요청을 차단
- 관리자 요청 뿐 아니라 다양한 내부 모듈과 통신
- 수평으로 확장되도록 디자인
Master 상세 - Scheduler
- 새로 생성된 Pod을 감지하고 실행할 노드를 선택
- 노드의 현재 상태와 Pod의 요구사항을 체크
- 노드에 라벨을 부여
- ex) a-zone, b-zone 또는 gpu-enabled, ...
Master 상세 - Controller
- 논리적으로 다양한 컨트롤러가 존재
- 복제 컨트롤러
- 노드 컨트롤러
- 엔드포인트 컨트롤러 ...
- 끊임 없이 상태를 체크하고 원하는 상태를 유지
- 복잡성을 낮추기 위해 하나의 프로세스로 실행
Master 상세 - 조회흐름