쿠버네티스/Architecture

[K8S] 쿠버네티스 아키텍처란

CrunchyDev 2023. 12. 25. 23:30

1. 아키텍처

쿠버네티스 아키텍처 (Kubernetes Architecture)

2. 마스터 노드(컨트롤 플레인)

  • apiserver
    쿠버네티스 클러스터의 모든 작업읠 제어하는 RESTful API
  • scheduler
    포드를 어떻게 노드에 배치할지 스케줄링
  • controller-manager
    백그라운드에서 클러스터 컨트롤러 확인 및 관리
    노드 이상 여부, 레플리카 숫자 유지 여부, 서비스와 포드 연결 여부 등 확인 및 관리
  • etcd
    쿠버네티스 클러스터 모든 정보를 저장하는 데이터 저장소
    고가용성을 가진 Key-Value 저장소 구조

3. 워커 노드(데이터 플레인)

  • kubelet
    노드에서 실행되는 에이전트로 컨테이너가 포드 내 실행 중인지 확인 
    다양한 메커니즘을 통해 포드 생성 및 정상 동작 여부를 관리
  • pod
    쿠버네티스가 생성할 수 있는 기본 배포 단위(가장 작은 단위)
  • kube-proxy
    네트워크 규칙을 유지하고 연결에 대한 포워딩을 수행
    쿠버네티스 서비스를 추상화
  • Container Runtime
    컨테이너 실행을 담당하는 엔진
    containerd, cri-o 등 과 같은 컨테이너 런타임을 사용