동작 | 요청 | 비고 | |
1 | 사용자 -> kubectl | kubectl로 Deployment 생성 API 호출 | |
2 | apiserver -> etcd | Deployment 생성 API 요청을 받고, etcd를 통해서 Deployment 데이터 저장 | Deployment 생성 |
3 | controller-manager | kube-apiserver로 계속 데이터베이스 모니터링하다가 신규 Deployment가 조회되면 ReplicaSet을 생성하라는 API 요청 |
ReplicaSet 생성 |
4 | controller-manager | 생성 된 ReplicaSet을 보고 Pod를 생성하라는 API 요청 | Pod 데이터베이스 생성 |
5 | scheduler | kube-apiserver를 통해서 노드 자원 모니터링 중 데이터베이스에 Pod(Object만 존재)가 생긴 게 확인되면 노드 스케줄링 작업 시작 |
항목 설정 참고 - nodeSelector - resources |
6 | 해당 워커 노드 kubelet | kube-apiserver 통해서 모니터링 하다가 자신에게 스케줄링 된 Pod가 생긴 걸 감지하고, CRI에 컨테이너 생성 요청 |
|
7 | containerd | 컨테이너 생성 완료 | 컨테이너 생성 |
8 | 해당 워커 노드 kublet | Pod의 Probe 설정에 따라 컨테이너로 헬스체크 진행 | startupProbe livenessProbe readinessProbe |
9 | Service | nodePort 으로 서비스를 생성해서 Pod에 연결 | |
10 | 해당 워커 노드 kublet | kube-proxy한테 로컬 네트워크를 생성해달라고 요청 | |
11 | kube-proxy | iptables에 내용을 추가 (31231 port요청은 해당 service로 전달) | calico가 수행 |
'Kubernetes > Study' 카테고리의 다른 글
[K8s-1pro] pv, pvc 테스트 시나리오 (1) | 2025.06.20 |
---|---|
[K8s] HPA 동작 (0) | 2025.06.20 |
[K8s] 쿠버네티스에서 pod들이 서로 다른 가상 L2에 있는데 통신 되는 이유? (비오버레이 네트워크) (0) | 2025.06.19 |
[K8s] 쿠버네티스에서 pod들이 서로 다른 가상 L2에 있는데 통신 되는 이유? (오버레이 네트워크) (0) | 2025.06.19 |
[K8s-1pro] 오버레이 네트워크 (0) | 2025.06.19 |