Desired state
- 상태 체크(Observe) → 차이점 발견(Diff) → 조치(Act)를 반복한다.
- Desired state는 여러개 존재할 수 있다.
쿠버네티스 아키텍처
Master와 Node들을 쿠버네티스 클러스터라고 합니다.
Master
etcd
- 상태와 데이터를 저장
- 고가용성을 보장해야 한다.(분산 시스템 구성)
- 가볍고 빠르면서 정확하게 설계
- key-value 형태로 저장
- 백업 필수
scheduler
- 새로 생성된 Pod을 감지하고 실행할 노드를 선택
- 노드의 현재 상태와 Pod의 요구사항을 체크
- Pod : 쿠버네티스 어플리케이션의 최소 단위로 여러개 또는 단일 컨테이너로 이루어져 있다.
- 참고
controller
- 논리적으로 다양한 컨트롤러가 존재
- 끊임 없이 상태를 체크하고 원하는 상태를 유지
- 복잡성을 낮추기 위해 하나의 프로세스로 실행
Node
kublet
- 각 노드에서 실행
- Pod을 실행/중지하고 상태를 체크
- 자신의 Node에 할당된 Pod 중에 아직 실행이 안된 Pod이 있는지 계속 확인
proxy
- 네트워크 프록시와 부하 분산 역할
- iptables 또는 IPVS를 사용
- 통신 설정