Control Plane Component
1. kube-apiserver
- 쿠버네티스 클러스터의 중심 역할을 하는 통로
- 모든 컴포넌트와 통신하며 주로 상태 값을 저장하는 etcd와 통신
- 수평으로 확장되도록 디자인되어 여러 kube-apiserver 인스턴스를 실행하고, 인스턴스 간의 트래픽을 균형 있게 조정 가능
2. kube-controller-manager
- 쿠버네티스 클러스터의 오브젝트 상태를 관리
- 노드 컨트롤러, 엔드포인트 컨트롤러, 레플리카셋 컨트롤러 등이 하나의 바이너리로 통합되어 있음
3. kube-scheduler
- 노드가 배정되지 않은 새 파드를 감지하고, 어떤 워커 노드에 생성할 것인지 결정하고 할당
4. etcd
- 컴포넌트들의 상태 값이 모두 저장되는, 즉 쿠버네티스의 DB
- key-value 저장소이므로 분산 저장이 가능하여 긴급한 장애 상황에 유연하게 대처 가능
- etc 디렉터리와 distributed의 합성어
Node Component
1. kubelet
- PodSpec을 받아서 컨테이너 런타임으로 전달
- 파드 안의 컨테이너들이 정상적으로 작동하는지 모니터링
- 쿠버네티스를 통해 생성되지 않는 컨테이너는 관리하지 않음
2. kube-proxy
- 각 노드에서 실행되는 네트워크 프록시
- 내부 네트워크 세션이나 클러스터 바깥에서 파드로 네트워크 통신이 가능하도록 해줌
- 운영 체제에 가용한 패킷 필터링 계층이 있으면 이를 사용 (ex. br_netfilter)
3. container-runtime
- 컨테이너 실행을 담당하는 소프트웨어
- CRI를 준수하는 containerd, CRI-O 등의 구현체를 지원
참고 1: https://kubernetes.io/ko/docs/concepts/overview/components/
'쿠버네티스' 카테고리의 다른 글
[쿠버네티스] 링커디 그라파나 연동 에러 (0) | 2023.07.06 |
---|---|
[쿠버네티스] 서비스 어카운트 생성 및 파드 내부에서 사용 (0) | 2023.06.26 |
[쿠버네티스] 클러스터 구축 중 마추진 오류들 (0) | 2023.06.09 |
[쿠버네티스] cgroup과 cgroup driver이란 (0) | 2023.06.08 |
[쿠버네티스] 파드 정리 (0) | 2023.05.29 |