Reference
- 도서 : 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커
- https://dzone.com/articles/kubernetes-lifecycle-of-a-pod
쿠버네티스 생명 주기
- 유저는 kubectl 명령어를 통해 API 서버 파드 생성을 요청합니다
- API 서버는 파드의 생성 요청을 etcd 에 기록합니다
- 컨트롤러 매니저는 API 서버를 감시하다가 새로운 파드 생성요청이 관찰되면, 파드를 생성합니다. 그리고 API 서버에게 파드 생성완료를 알리죠.
- 스케줄러는 API 서버를 감시하다가 파드생성 완료가 관찰되면, 워커 노드를 선택하여 파드를 배치합니다.
- kubelet 은 API 서버를 감시하다가 파드 배치가 관찰되면, 파드를 워커 노드에 생성합니다.
- kubelet 은 파드를 생성하고, 컨테이너 런타임에게 컨테이너를 생성하라고 요청합니다.
- 컨테이너 런타임은 컨테이너를 생성하고, kubelet 에게 컨테이너 생성완료를 알립니다.
API 서버가 모든 컴포넌트에게 명령하는 것이 아닌 역으로 감시당하는 선언적인 시스템 구조를 가지는 이유는, 클러스터를 안정적으로 유지하는데 용이하기 때문입니다.
컴포넌트 : 컨트롤러 매니저, 스케줄러, kubelet …