본문 바로가기
DevOps/Kubernetes

쿠버네티스 기초탄탄 걸 - Control Plane

by ssyeon 2022. 12. 29.

 

컨트롤 플레인 (control plane)

  • 클러스터의 핵심으로 클러스터의 상태 및 설정값을 저장하고 관리함
  • 하나 이상의 master node에 복제되어 관리
  • 현재의 클러스터 상태를 사용자가 원하는 클러스터 상태로 끊임없이 조정해주는 컨트롤 센터

 

마스터 (Master Node)

  • 노드를 제어하고 전체 클러스터를 관리하는 컨트롤러
  • 전체적인 제어/관리를 하기 위한 관리 서버

 

노드 (Node)

  • 컨테이너가 배포될 물리서버 혹은 가상머신이며 워커노드(worker node)라고도 부름

 

파드 (Pod)

  • 단일 노드에 배포된 하나 이상의 컨테이너 그룹
  • 파드라는 단위로 컨테이너를 여러 개 묶어서 파드 단위로 관리할 수 있게 해줌

 

 


 

 

ETCD

  • 클러스터 안의 각 구성요소들에 대한 정보가 키-값 형태로 저장된 데이터베이스
  • API와 상호작용을 함

 

ex) 쿠버네티스에 클러스터가 몇개인지, 각각 파드들이 어떤 컨테이너를 들고 어느 노드에서 동작하고 있는지를 기록




API 서버 (Kube-API server)

  • 모든 작업을 관리함
  • 쿠버네티스 클러스터와 상호작용을 하고 싶으면? -> API에 요청
  • 요청이 유효한지를 판별하고 유효한 요청을 처리함
  • 노드 안에 있는 Kubelet에서 상태정보를 가져와 노드 정보를 확인




스케줄러 (Kube-Scheduler)

  • 클러스터 상태가 양호한가? 새로운 컨테이너가 필요하면 어디에 적합한가?
  • CPU. 메모리와 같은 포드의 리소스 요구사항과 함께 클러스터의 상태를 고려함, 이후 포드를 적절한 컴퓨팅 노드에 예약




컨트롤러 매니저 (Kube-Controller-manager)

  • 노드, Deployment, 서비스 어카운트 등 클러스터에서 구동되는 리소스들을 유지하고 관리하는 프로세스들의 집합

 

 

 

 


 

Kubelet

  • 컨트롤 플레인에서 노드에 작업을 요청하는 경우 kubelet가 요청을 수행함
  • 각 노드에서 API서버를 통해 들어오는 신호를 모니터링해서 파드에 컨테이너가 정상적으로 작동하는지 관리함
  • 노드 안에서 대표 역할 → 모든 상태를 확인해 kube-apiserver로 정보를 전달함




Kube - proxy

  • 쿠버네티스 네트워킹 서비스를 용이하게 하기 위함
  • 노드끼리 서로 통신할 수 있도록 해줌




Container runtime

  • 노드에 배포된 파드 내 컨테이너들을 구동시키는 엔진
  • 실제로 컨테이너가 실행되는 환경을 제공

ex) docker




Node Pool

  • 클러스터 내에서 구성이 모두 동일한 노드 그룹

 

 

 

 

 

 

반응형

'DevOps > Kubernetes' 카테고리의 다른 글

쿠버네티스 기초 탄탄걸 - Kubernetes 개요  (0) 2022.12.27

댓글