정글에서 온 개발자

1/8 TIL [CKA] 기본 개념 본문

TIL

1/8 TIL [CKA] 기본 개념

dev-diver 2025. 1. 9. 00:11

Master node 구성요소

  • kube api server -> 다른 노드들에 신호 보냄
  • controller manager - 노드 컨트롤러, replication 컨트롤러
  • ETCD cluster
  • kube schedeuler -> 컨테이너 감시

Node 구성 요소

  • kublet - masster로부터 신호를 받음
  • kube proxy - 다른 노드들과 통신

Dockder와 ContainerD

CRI (Container Runtime Interface) - 컨테이너와 쿠버네티스 간의 통신 프로토콜을 정의
OCI (Open Container Initiative)  컨테이너 표준을 정하는 단체   - Image spec, runtime spec이 있음

원래 도커는 CRI를 지키지 않아(도커가 CRI보다 먼저 생겼음) kubernetis에서 dockershim을 지원해줬으나, 1.12v부터 지원을 중단함.
대신CRI를 지키는 ContainerD를 통해 소통함

containerD - docker구성의 일부. runC라는 컨테이너 런타임을 사용함. runC를 돌리는 데몬이 containerD임.

cmd

  • ctr ->컨테이너 커맨드 툴 .  사용자 친화적이지 않음
  • nerdctl -> 도커like cmd.   도커 대신 쓸수 있음  (컨테이너 D와의 연관성?)
  • crictl -> cri를 지키는 모든 런타임과 소통이 가능함

ETCD

key value DB. 포트번호 2379
etcdctl을 사용함
ETCD에 컨테이너의 상태, 이벤트 등이 기록됨

kubernetis 배포 방법들

  • kubedum tool - ETCD를 pod로 배포하기
  • 처음부터 구성하기

 

  • HA 에는 ETCD가 많이 존재함