Kubernetes란?
여러 서버(컴퓨터)에서 여러 개의 프로그램(컨테이너)을 안전하고 효율적으로 관리해주는 오케스트레이션 플랫폼
Master Node
- 클러스터를 관리하고 서로 다른 노드( Worker Nodes )에 대한 정보를 저장하고, 계획하고, 모니터링하는 등등을 책임짐
- 클러스터 전체의 정보를 ETCD에 저장하고, 실행 계획을 세워 워커에게 명령을 내림
ETCD Cluster
- ETCD는 키 값 형식으로 저장됨
- 분산 데이터 베이스, 클러스터 내 모든 설정과 상태 정보를 저장함
= 클러스터의 메모장
Kube-scheduler
- 어떤 Pod(작업)을 워커 노드에 보낼지 결정하는 심판 역할
- 리소스 상황, 위치, 조건 등을 다 따져보고 가장 적합한 곳에 작업을 할당
Kube Controller-Manager
- 시스템을 항상 원하는 상태로 유지하게 관리/ 조정하는 역할( = 총괄팀장)
- Node-Controller: 노드 상태를 파악하고, 고장나면 적절히 이동 조치
- Replication-Controller: 동일한 Pod를 여러 개 유지해야 할 때 제대로 복제되고 유지되는지 감시함
Kube-apiserver
- 밖에서 명령을 받아 처리해주는 접점(문지기) (= 클러스터와 외부의 모든 통신창구)
- 명령을 받고 다른 컴포넌트로 전달
- DNS 서비스 네트워킹 솔루션은 컨테이너 형태로 배포될 수 있음
- 클러스터 안에서 애플리케이션끼리 네트워크 상에서 서로 찾을 수 있게 해주는 서비스
- 보통 컨테이너 형태로 배포되어 필요한 곳에 쉽게 추가할 수 있음
Worker Nodes란?
- 사용자 프로그램(컨테이너)이 실제로 실행되는 곳
컨테이너 엔진: Docker
- 클러스터내 모든 노드에 설치되어 있어야 됨
- 컨테이너화된 프로그램을 실제로 실행시키는 엔진
- 클러스터 내 모든 노드에 설치되어야 하고, Docker외에도 containerd, rkt 등 다양한 런타임을 지원함
Kubelet
- 클러스터에 각 노드에 실행되는 것
- 워커 노드에서 컨테이너를 관리하는 직접 책임자
kube-proxy
- 네트워크 연결을 돕는 교통정리 담당자
마무리 정리
마스터가 전체 계획과 감시를 담당, 모든 실행 정보는 ETCD에 저장.
사용자&시스템의 명령은 kube-apiserver에 전달되어 내부 각 요소로 흘러감.
Pod 배치는 kube-scheduler, 상태 유지와 복제 등은 controller-manager에서 담당.
워커 노드에는 kubelet과 kube-proxy, 컨테이너 엔진(Docker 등)이 설치되어, 실제 작업과 네트워킹, 실행을 담당함.
네트워킹 및 DNS는 별도 컨테이너로 실행되어 서로 연결함.
'자격증 > CKA' 카테고리의 다른 글
CKA/ Docker + Container d (2) | 2025.09.01 |
---|