Skip to main content

쿠버네티스 클러스터와 노드

  • 쿠버네티스 클러스터(cluster) 란 쿠버네티스의 다양한 리소스를 관리하는 집합 그룹을 의미
  • 클러스터에서 가장 큰 단위는 노드(Node) 이며 노드는 클러스터에서 등록된 컨테이너의 호스트컨테이너 배포에 사용됨
  • 클러스터에는 전체를 관리하는 서버인 컨트롤 플레인이 적어도 하나 이상 배치됨
  • 클러스터 구성은 다음과 같이 두 그룹으로 구성됨
    • 컨트롤 플레인 노드
    • 워커 노드
  • 쿠버네티스는 노드의 리소스 상태와 배치 전략에 따라 컨테이너를 적절하게 배치하는 기능이 존재
  • kubectl get nodes 명령어를 통해 클러스터에서 사용하는 노드의 리스트를 확인 가능

  • 컨트롤 플레인을플레인 구성하는 관리 컴포넌트
    • 컴포넌트명역할
      kube-apiserver쿠버네티스의 API를 공개하는 컴포넌트로 kubectl 명령어로 리소스를 조작함
      etcd높은 가용성의 분산 key-value 스토어로 클러스터의 백업 스토어로 사용
      kube-scheduler노드를 모니터링하고 컨테이너를 배치할 최적의 노드를 선택
      kube-controller-manager리소스를 제어하는컨트롤러 실행

    클라우드 기반 쿠버네티스에서 노드는 GCP의 GCE,GCE, AWS의 EC2 인스턴스 등으로 구성됨
    온프레미스 환경에서 운영할 때 컨트롤 플레인이 단일 장애 지점이 되지 않도록 다중 컨트롤 플레인으로 3대 이상 배치하는 것을 권장