728x90
- 개념
마스터 노드
쿠버네티스 클러스터를 관리하고 서로 다른 노드에 대한 정보를 저장, 어떤 컨테이너가 어디로 갈지 계획, 모니터링
kubd-apiserver
k8s 주요 관리 구성 요소
클러스터내 모든 작업을 오케스트레이션
ETCD 클러스터
노드를 관리하는데 필요한 데이터를 키-값 형태로 저장하는 데이터베이스
컨트롤러 매니저
노드 컨트롤러
새 노드를 클러스터에 온보딩, 노드가 사용 불가능하거나 파괴되는 상황을 처리
Replication 컨트롤러
일정 수의 노드가 항상 실행될수 있도록 함
kube-scheduler
노드의 응용프로그램이나 컨테이너의 스케줄을 짬
워커 노드
컨테이너 런타임
Docker 와 같이 컨테이너를 실행할 수 있는 도구
kubelet
클러스터의 각 노드에서 실행되는 에이전트
Kube API 서버의 지시를 듣고 노드에서 컨테이너를 배포하거나 관리함
kube-apiserver 는 kubelet 과 지속적으로 통신하여 컨테이너의 상태를 모니터링함
kube-proxy
컨테이너간 통신이 가능하도록 함 (rule 결정)
CRI (Container Runtime Interface)
쿠버네티스의 컨테이너 런타임 인터페이스.
어떤 종류의 컨테이너 런타임 도구이든 잘 작동할 수 있도록 함. (rkt, ...)
OCI (Open Container Initative)
CRI 에서 컨테이너가 작동하기 위해 준수해야 하는 룰
- imagespec
이미지 빌드 방식에 대한 기준 정의 - runtimespec
dockershim
docker는 OCI가 만들어지기 전에 만들어졌음
docker를 지원하기 위한 인터페이스 (v1.24 이후 제거됨)
containerd
docker의 일부지만 docker와 별도로 k8s 와 직접적으로 작업 가능, 독립된 프로젝트
ctr 이라는 커맨드 명령어로 이미지를 풀/푸시/실행 하는 등의 작업을 할 수 있음
nerdctl
Docker CLI와 같거나 그 이상의 기능 지원
crictl
컨테이너애 더불어 CRI를 제어하는 명령어
쿠버네티스 커뮤니티와 소통
도커와 명령어가 비슷함
728x90