쿠버네티스 클러스터와 노드
- 쿠버네티스 클러스터(cluster) 란 쿠버네티스의 다양한 리소스를 관리하는 집합 그룹을 의미
- 클러스터에서 가장 큰 단위는 노드(Node) 이며 노드는 클러스터에서 등록된 컨테이너의 호스트로 컨테이너 배포에 사용됨
- 클러스터에는 전체를 관리하는 서버인 컨트롤 플레인이 적어도 하나 이상 배치됨
- 클러스터 구성은 다음과 같이 두 그룹으로 구성됨
- 컨트롤 플레인 노드
- 워커 노드
- 쿠버네티스는 노드의 리소스 상태와 배치
전략에전략에 따라 컨테이너를 적절하게 배치하는 기능이 존재 kubectl get nodes명령어를 통해 클러스터에서 사용하는 노드의 리스트를 확인 가능- 컨트롤 플레인을 구성하는 관리 컴포넌트
컴포넌트명 역할 kube-apiserver 쿠버네티스의 API를 공개하는 컴포넌트로 kubectl명령어로 리소스를 조작함etcd 높은 가용성의 분산 key-value 스토어로 클러스터의 백업 스토어로 사용 kube-scheduler 노드를 모니터링하고 컨테이너를 배치할 최적의 노드를 선택 kube-controller-manager 리소스를 제어하는컨트롤러 실행
클라우드 기반 쿠버네티스에서 노드는 GCP의 GCE, AWS의 EC2 인스턴스 등으로 구성됨
온프레미스 환경에서는 컨트롤 플레인이 단일 장애 지점이 되지 않도록 다중 컨트롤 플레인으로 3대 이상 배치하는 것을 권장