쿠버네티스/Architecture
[K8S] 쿠버네티스 아키텍처란
CrunchyDev
2023. 12. 25. 23:30
1. 아키텍처
2. 마스터 노드(컨트롤 플레인)
- apiserver
쿠버네티스 클러스터의 모든 작업읠 제어하는 RESTful API - scheduler
포드를 어떻게 노드에 배치할지 스케줄링 - controller-manager
백그라운드에서 클러스터 컨트롤러 확인 및 관리
노드 이상 여부, 레플리카 숫자 유지 여부, 서비스와 포드 연결 여부 등 확인 및 관리 - etcd
쿠버네티스 클러스터 모든 정보를 저장하는 데이터 저장소
고가용성을 가진 Key-Value 저장소 구조
3. 워커 노드(데이터 플레인)
- kubelet
노드에서 실행되는 에이전트로 컨테이너가 포드 내 실행 중인지 확인
다양한 메커니즘을 통해 포드 생성 및 정상 동작 여부를 관리 - pod
쿠버네티스가 생성할 수 있는 기본 배포 단위(가장 작은 단위) - kube-proxy
네트워크 규칙을 유지하고 연결에 대한 포워딩을 수행
쿠버네티스 서비스를 추상화 - Container Runtime
컨테이너 실행을 담당하는 엔진
containerd, cri-o 등 과 같은 컨테이너 런타임을 사용