Infra

쿠버네티스 정리 - 구성요소

@leee 2022. 12. 2. 06:39
  • 쿠버네티스는 도커에서 사용되는 컨테이너를 편리하게 관리해주는 오픈소스 플랫폼
  • 선언적 구성과 자동화를 용이하게 해줌

구성 요소

  • control plane
    • kube-apiserver : 쿠버네티스 클러스터로 들어오는 요청을 가장 앞에서 접수하는 역할
    • etcd(엣시디) : 쿠버네티스 클러스터가 동작하기 위한 정보(구성 정보, 상태 정보, 명세 정보 등)들을 저장하기 위한 저장소. key-value 형태로 저장됨
    • kube-scheduler : 새로 생성된 파드를 감지하여 어떤 노드로 배치할 지 결정하는 작업(스케줄링)을 담당
    • kube-controller-manager : 컨트롤러의 상태가 유지되고 있는지 관리하는 컴포넌트
      • 다운된 노드가 없는지, 파드가 복제한 수를 유지하고 있는지, 서비스와 파드가 적절하게 유지되고 있는지, 네임스페이스에 대해 기본 계정과 토큰이 생성되고 있는지를 확인. 적절하지 않다면 조치함
  • node : 컨테이너화된 애플리케이션을 실행
    • kubelet(쿠블릿) : 노드에서 컨테이너가 동작하도록 관리해주는 핵심 요소. 각 노드에서 파드를 생성하고 정상적으로 동작하는지 관리
    • container runtime : 파드에 포함된 컨테이너 실행을 실질적으로 담당하는 애플리케이션
    • kube-proxy : 쿠버네티스 클러스터 내부에서 네트워크 요청을 전달하는 역할 (다른 곳에서 요청이 오더라도 적절한 위치로 전달해주는 역할. 이게 없으면 정확한 해당 파드의 IP를 알고 있어야 하고 접근도 가능해야 함)

참고

쿠버네티스란 무엇인가?

쿠버네티스 알아보기 3편: 쿠버네티스를 이루고 있는 여러 가지 구성 요소