클러스터란
클러스터는 Kubernetes Engine의 기본 리소스로,
컨테이너 애플리케이션을 포함한 모든 Kubernetes 객체가 클러스터에서 실행됩니다.
[kakao kubernetes cluster 기준]
Kubernetes Engine에서 제공하는 클러스터는 고가용성이 보장된 형태로, 카카오 클라우드가 관리하는 VPC에 배포되어 관리되는 제어 영역(Control Plane)과 사용자의 VPC에 배포되어 사용자가 직접 관리할 수 있는 노드로 구성되어 있습니다.
제어 영역
제어 영역은 클러스터를 관리하는 Master node로 클러스터의 통합 엔드포인트 역할을 합니다.
클러스터와의 모든 상호 작용은 제어 영역에 있는 Kubernetes API 서버에서 API 호출을 통해 이루어집니다.
노드
컨테이너 애플리케이션이 실행되는 서버를 노드 혹은 워커 노드라고 합니다.
클러스터는 하나 이상의 노드로 구성되며, 이 노드는 Virtual Machine 서비스에서 제공되는 VM 인스턴스입니다.
Kubernetes Engine 서비스에서 클러스터를 생성할 때 사용자는 직접 노드풀을 만들 수 있습니다.
→ 이때 생성된 노드풀의 조건에 따라 노드가 자동으로 생성되며, 개별 노드는 사용자가 지정한 VPC의 특정 Subnet에서 실행됩니다.
노드 풀
노드 풀은 동일한 인스턴스 유형을 가지는 노드 그룹이며, Kubernetes Engine에서는 노드를 노드 풀 단위로 관리합니다.
클러스터를 만들 때 생성하는 노드 풀이 최초의 노드 풀이 됩니다. 이후 다른 인스턴스 유형을 가지는 추가 노드 풀을 클러스터에 추가할 수 있습니다.
노드 풀의 각 노드에는 노드 풀의 이름을 값으로 가지는 kakaoi.io/kke-nodepool이라는 Kubernetes 노드 레이블이 설정되어 있습니다.
클러스터 생명주기 및 상태