728x90
Kubernetes Cluster 구성 요소
- Master Node
- 클러스터의 뇌로, 전반적인 관리와 조정 담당
- Etcd를 통해 클러스터 상태 저장
- 스케줄링, 클러스터 상태 모니터링 등의 기능 수행
- Etcd
- 고가용성을 제공하는 분산 키-값 저장소 (데이터베이스)
- 클러스터 구성 및 상태 정보 저장
- Clusetr Controller
- 노드 관리, 컨테이너 상태 유지, 스케줄링 결정 등
- 노드 및 컨테이너 수명주기 관리
- Kube API Server
- 클러스터 작업 오케스트레이션 담당
- 클러스터 상태 관리 및 외부 API 노출
- Worker Node
- 컨테이너 실행, 모니터링, 상태 보고 담당
- 마스터 노드 지시에 따라 작업 수행
- Kubelet
- 쿠버네티스 노드에 설치되어 있는 에이전트이며, 각 노드의 컨테이너 관리를 담당하는 주요 구성 요소
기능- 쿠버네티스 API 서버로부터 할당된 포드 스펙을 가져와 노드 상에 포드를 실행하고 관리
- 포드의 상태를 주기적으로 확인하고, 필요에 따라 컨테이너를 시작하거나 중지
- 컨테이너 런타임과 상호 작용하여 컨테이너의 실행 및 관리를 수행
- 노드 리소스의 사용량을 모니터링하고 필요에 따라 적절한 스케일링 작업을 수행
- 이벤트를 생성하여 쿠버네티스 클러스터 상태를 감시하고 관리
- 동작 원리:
- 쿠버네티스 마스터의 API 서버에 등록되어 있어서 포드 스펙을 주기적으로 가져와 해당 노드에서 실행
- 포드가 실행되지 않은 경우, 쿠버네티스 API 서버에 해당 노드에 대한 보고를 수행하고 대기 상태
- 쿠버네티스 API 서버로부터 할당된 포드 스펙을 받으면
컨테이너 런타임을 사용하여 해당 노드에서 컨테이너를 실행 - 컨테이너의 상태를 주기적으로 모니터링하여 필요에 따라 재시작하거나 다시 시작
- 구성 요소:
- PodSpec: 쿠버네티스 마스터로부터 할당된 포드 스펙을 나타내는 객체
- SyncLoop: Kubelet 내부의 주요 프로세스로, 주기적으로 새로운 포드 스펙을 가져와 실제 노드 상에 포드를 실행하고 관리
- Container Runtime Interface (CRI): 컨테이너 런타임과의 통신을 담당하는 인터페이스로, 컨테이너의 생성, 실행, 중지 등을 수행
- 요약
- Kubelet은 쿠버네티스 클러스터의 노드에 설치되어 포드를 실행하고 관리하는 주요 구성 요소
- API 서버로부터 할당된 포드 스펙을 주기적으로 가져와 포드를 실행하고 관리
- 컨테이너 런타임과의 통신을 통해 컨테이너의 생성, 실행, 중지 등을 수행
- 쿠버네티스 노드에 설치되어 있는 에이전트이며, 각 노드의 컨테이너 관리를 담당하는 주요 구성 요소
- Kube Proxy
- 작업자 노드 간 통신을 위한 네트워크 프록시
- 기타 구성 요소
- DNS 서비스, 네트워킹 솔루션, 컨테이너 런타임 엔진(Docker 등)
728x90
'자격증 > CKA' 카테고리의 다른 글
[CKA] Udemy 18. kube-scheduler (0) | 2024.06.22 |
---|---|
[CKA] Udemy 17. Kube Controller Manager (0) | 2024.04.18 |
[CKA] Udemy 16. KubeAPI (0) | 2024.04.15 |
[CKA] Udemy 13, 14 ETCD For Beginners (in Kubernetes) (0) | 2024.04.15 |
[CKA] Udemy 12. Docker vs ContainerD 정리 (0) | 2024.04.13 |