자격증/CKA

[CKA] Udemy 11. Cluster Architecture 정리

14ben 2024. 4. 13. 14:12
728x90

 

 

Kubernetes Cluster 구성 요소

  • Master Node
    • 클러스터의 뇌로, 전반적인 관리와 조정 담당
    • Etcd를 통해 클러스터 상태 저장
    • 스케줄링, 클러스터 상태 모니터링 등의 기능 수행
  • Etcd
    • 고가용성을 제공하는 분산 키-값 저장소 (데이터베이스)
    • 클러스터 구성 및 상태 정보 저장
  • Clusetr Controller
    • 노드 관리, 컨테이너 상태 유지, 스케줄링 결정 등
    • 노드 및 컨테이너 수명주기 관리
  • Kube API Server
    • 클러스터 작업 오케스트레이션 담당
    • 클러스터 상태 관리 및 외부 API 노출

 

  • Worker Node
    • 컨테이너 실행, 모니터링, 상태 보고 담당
    • 마스터 노드 지시에 따라 작업 수행
  • Kubelet
    • 쿠버네티스 노드에 설치되어 있는 에이전트이며, 각 노드의 컨테이너 관리를 담당하는 주요 구성 요소
      기능
      • 쿠버네티스 API 서버로부터 할당된 포드 스펙을 가져와 노드 상에 포드를 실행하고 관리
      • 포드의 상태를 주기적으로 확인하고, 필요에 따라 컨테이너를 시작하거나 중지
      • 컨테이너 런타임과 상호 작용하여 컨테이너의 실행 및 관리를 수행
      • 노드 리소스의 사용량을 모니터링하고 필요에 따라 적절한 스케일링 작업을 수행
      • 이벤트를 생성하여 쿠버네티스 클러스터 상태를 감시하고 관리 
      • 동작 원리:
        • 쿠버네티스 마스터의 API 서버에 등록되어 있어서 포드 스펙을 주기적으로 가져와 해당 노드에서 실행
        • 포드가 실행되지 않은 경우, 쿠버네티스 API 서버에 해당 노드에 대한 보고를 수행하고 대기 상태
        • 쿠버네티스 API 서버로부터 할당된 포드 스펙을 받으면
          컨테이너 런타임을 사용하여 해당 노드에서 컨테이너를 실행
        • 컨테이너의 상태를 주기적으로 모니터링하여 필요에 따라 재시작하거나 다시 시작
      • 구성 요소:
        • PodSpec: 쿠버네티스 마스터로부터 할당된 포드 스펙을 나타내는 객체
        • SyncLoop: Kubelet 내부의 주요 프로세스로, 주기적으로 새로운 포드 스펙을 가져와 실제 노드 상에 포드를 실행하고 관리
        • Container Runtime Interface (CRI): 컨테이너 런타임과의 통신을 담당하는 인터페이스로, 컨테이너의 생성, 실행, 중지 등을 수행
      • 요약 
        • Kubelet은 쿠버네티스 클러스터의 노드에 설치되어 포드를 실행하고 관리하는 주요 구성 요소
        • API 서버로부터 할당된 포드 스펙을 주기적으로 가져와 포드를 실행하고 관리
        • 컨테이너 런타임과의 통신을 통해 컨테이너의 생성, 실행, 중지 등을 수행
  • Kube Proxy 
    • 작업자 노드 간 통신을 위한 네트워크 프록시

 

  • 기타 구성 요소
    • DNS 서비스, 네트워킹 솔루션, 컨테이너 런타임 엔진(Docker 등)
728x90