본문으로 건너뛰기

클러스터 생성 및 관리

클러스터 생성

클러스터는 Kubernetes Engine의 기본 리소스로, 컨테이너 애플리케이션을 포함한 모든 Kubernetes 객체가 이 클러스터에서 실행됩니다. 클러스터는 콘솔에서 생성할 수 있으며, API를 호출하여 클러스터를 생성하는 방법은 지원 예정입니다.
Kubernetes Engine 서비스에서 클러스터를 생성하는 방법은 다음과 같습니다.

안내
  • Multi-AZ를 지원하는 kr-central-2 리전에서는 리전 내 여러 AZ(Availability Zone)에서 클러스터와 노드를 운영하여 가용성을 높일 수 있습니다.
  • 클러스터를 생성하기 위해서는 사전에 VPC와 Subnet이 설정되어 있어야 합니다. VPC와 Subnet이 설정되지 않은 경우 VPC 생성 및 관리를 참고하시기 바랍니다.

콘솔에서 클러스터 생성

카카오클라우드 콘솔에서 클러스터를 생성할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. [시작하기] 버튼을 클릭하여 Kubernetes Engine 사용을 시작합니다.

    • 서비스 사용을 시작하면 Kubernetes Engine의 리소스에 접근하기 위한 서비스 에이전트가 생성됩니다.
  3. Cluster 탭에서 [클러스터 만들기] 버튼을 클릭합니다.

  4. 클러스터 만들기에서 정보를 입력하고, [만들기] 버튼을 클릭합니다.

    이미지. 1단계: 클러스터 설정 페이지

    구분설명
    기본 설정클러스터의 기본 정보 설정
    - 클러스터 이름: 클러스터의 이름을 입력
    - 클러스터 설명(선택): 60자 이내로 클러스터 설명 작성
    - Kubernetes 버전: 클러스터에서 사용할 Kubernetes 버전 선택
      ㄴ Kubernetes Engine에서 제공하는 지원 버전에 대한 자세한 설명은 지원 정보를 참고
    클러스터 Network 설정클러스터의 네트워크 설정
    - VPC: 프로젝트에 공유된 VPC 중 클러스터를 배포할 VPC 선택
    - Subnet: 프로젝트에 공유된 Subnet 중 클러스터를 배포할 Subnet 선택
      ㄴ 노드 풀 생성 시, 클러스터 Network에서 설정한 Subnet 중 노드가 실행될 Subnet을 선택
      ㄴ Multi-AZ를 지원하는 kr-central-2 리전에서는 노드 풀의 네트워크를 서로 다른 AZ의 Subnet으로 다중 선택하여 가용성을 높일 수 있음
      ㄴ Multi-AZ 클러스터의 가용성을 높이기 위해, kr-central-2 리전의 각 AZ별 최소 1개 이상 Subnet 필수 선택 필요
    CNICalico와 Cilium 중, 필요한 상황에 맞게 클러스터에서 사용할 CNI 플러그인을 선택
    - 서비스 IP CIDR 블록(선택): 클러스터의 서비스 객체가 수신할 IP를 지정
    - 파드 IP CIDR 블록(선택): 파드가 수신할 IP를 지정

    ⚠️ 주의
    서비스 IP와 파드 IP는 클러스터 생성 후에는 변경할 수 없습니다.
안내

클러스터의 네트워크가 Private Subnet일 경우, Private Subnet의 노드는 인터넷 통신이 불가합니다. Private Subnet의 노드가 인터넷을 통해 외부 CR과 통신하기 위해서는 NAT 통신이 필요합니다.
NAT 통신은 NAT Instance를 사용할 수 있으며, 자세한 내용은 NAT 인스턴스 사용 문서를 참고하시기 바랍니다.

주의

CNI의 서비스 IP와 파드 IP로 허용되는 조건은 아래와 같습니다.

  • CIDR 형식으로 입력해야 하며, IPv4 RFC-1918로 규정된 사설 네트워크 범위 내에 있어야 합니다.
  • 서비스 IP의 최소 허용 크기는 /28이고, 최대 허용 크기는 /12입니다.
  • 파드 IP의 최소 허용 크기는 /24이고, 최대 허용 크기는 /16입니다.
  • 서비스 IP와 파드 IP는 서로 중첩될 수 없습니다.
  • 클러스터 네트워크로 설정한 VPC 범위와 중첩될 수 없습니다.
  • Kubernetes Engine 내부에서 사용 중인 198.18.0.0/16과 중첩될 수 없습니다.
  • 서비스 IP와 파드 IP는 IPv4만 지원합니다.

API로 클러스터 생성

Kubernetes Engine API를 사용하여 클러스터를 생성하는 방식은 추후 지원 예정입니다.


클러스터 관리

Kubernetes Engine 서비스에서 클러스터를 관리하는 방법은 다음과 같습니다.

클러스터 목록 보기

현재 생성된 클러스터의 목록을 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 현재 생성된 클러스터를 확인합니다.

    구분설명
    클러스터 이름클러스터의 이름
    클러스터 상태클러스터의 상태 정보
    - Provisioned: 클러스터 프로비저닝 완료
    - Pending: 클러스터 프로비저닝 준비 중
    - Provisioning: 클러스터 프로비저닝 중
    - Deleting: 클러스터 삭제 중
    - Failed: 사용자의 개입이 필요한 실패 상태
    Kubernetes 버전클러스터의 Kubernetes 버전 정보
    기능[kubectl] 버튼 클릭 시 kubectl 제어 설정 가능
    [더 보기] 아이콘- 클러스터 설정: 클러스터의 이름, 생성일 설명 확인
    - 자동 축소 설정: 자동 확장을 설정한 노드 풀의 자동 축소 조건 설정
    - 클러스터 삭제: 해당 클러스터를 삭제

클러스터 설정 보기

클러스터의 이름, 생성일, 설명을 확인 및 수정할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 설정할 클러스터의 [더 보기] 아이콘 > 클러스터 설정을 선택합니다.

  3. 클러스터 설정 팝업창에서 정보를 확인합니다. 설정 수정 시, 정보를 입력하고 [저장] 버튼을 클릭합니다.

    구분설명
    클러스터 이름현재 클러스터의 이름
    클러스터 생성일클러스터의 생성 날짜
    클러스터 설명(선택)클러스터 생성 시 작성한 설명
    - 60자 이내로 클러스터 설명 수정 또는 작성 가능

클러스터 검색

클러스터 필터를 통해 클러스터를 검색할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.
  2. Cluster 탭의 클러스터 필터에서 검색할 클러스터를 입력합니다.

클러스터 상세 보기

클러스터의 세부 정보, 노드 풀, 노드 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 상세 정보를 확인할 클러스터를 선택합니다.

  3. 클러스터의 상세 페이지에서 정보를 확인합니다.

    구분설명
    클러스터 상태해당 클러스터의 상태
    Kubernetes 버전현재 사용 중인 Kubernetes 버전
    기능- [kubectl] 버튼: 버튼 클릭 시 kubectl 제어 설정
    - [자동 축소 설정] 버튼: 자동 확장을 사용하는 노드 풀 노드의 리소스 사용량이 일정 수준 이하로 유지될 때 노드 수를 자동으로 축소하는 상세 조건을 설정

클러스터 세부 정보 확인

클러스터 ID, 생성일, 전체 vCPU 개수 등 클러스터의 세부 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 세부 정보를 확인할 클러스터를 선택합니다.

  3. 세부 정보 탭에서 정보를 확인합니다.

    구분설명
    클러스터 ID클러스터의 고유 ID 값
    생성일클러스터의 생성일
    - 생성 요청 이후 응답받은 시간을 기준으로 표시
    생성자해당 클러스터를 만든 사용자
    전체 vCPU클러스터 내 워커 노드들의 vCPU 총합
    전체 메모리클러스터 내 워커 노드들의 메모리 총합
    VPC클러스터가 배포된 VPC
    Subnet클러스터가 배포된 Subnet
    - kr-central-2 리전의 클러스터는 가용성을 높이기 위해 여러 Availability Zone의 Subnet이 다중 설정된 경우 해당하는 모든 Subnet이 보여짐.
    Security Group클러스터 내 워커 노드들에게 적용된 Security Group
    API 서버 엔드포인트클러스터 API를 호출할 엔드포인트

노드 풀 정보 확인

클러스터 내 노드 풀과 노드 풀에 속한 노드의 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 노드 풀 정보를 확인할 클러스터를 선택합니다.

  3. 노드 풀 탭을 클릭한 후, 정보를 확인합니다.

    구분설명
    노드 풀 필터필터를 통해 노드 풀 검색
    [노드 풀 만들기] 버튼클릭 시 신규 노드 풀 생성
    노드 풀노드 풀의 이름 및 설명
    - 노드 풀 이름 클릭 시, 노드 풀 상세 페이지로 이동
    노드 풀 상태노드 풀의 상태
    - Running: 노드 풀 정상 실행 중(노드 상태와는 무관)
    - Running (Scheduling Disable): 노드 풀의 모든 노드가 스케줄링 차단된 상태
    - ScalingUp: 노드 개수 확장 중
    - ScalingDown: 노드 개수 축소 중
    - Deleting: 노드 풀 삭제 중
    - Failed: 사용자의 개입이 필요한 실패 상태
    Kubernetes 버전노드 풀의 노드가 현재 사용 중인 Kubernetes 버전
    인스턴스 유형노드 풀의 노드에서 사용하는 인스턴스 유형
    볼륨 크기노드 풀의 노드에서 사용하는 인스턴스의 볼륨 크기
    노드 수현재 노드 풀에 속한 노드 수
    AZ노드 풀에서 사용하는 Subnet의 AZ 정보

노드 정보 확인

클러스터에 속한 모든 노드의 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 노드 정보를 확인할 클러스터를 선택합니다.

  3. 노드 탭을 클릭한 후, 정보를 확인합니다.

    구분설명
    노드노드 이름 및 설명
    - 노드 이름 클릭 시 노드 상세 페이지로 이동
    노드 상태노드 상태 정보
    - Running: 노드가 준비되어 실행 중
    - Running (Scheduling Disable): 해당 노드로 신규 스케줄링 차단된 상태 (이미 할당되어 실행 중인 파드와는 무관)
    - Provisioned: 노드 프로비저닝 완료
    - Deleted: 노드 삭제 완료
    - Pending: 노드 프로비저닝 준비 중
    - Provisioning: 노드 프로비저닝 중
    - Deleting: 노드 삭제 중
    - Failed: 사용자의 개입이 필요한 실패 상태
    노드 풀노드가 속한 노드 풀의 정보
    - 노드 풀 클릭 시, 노드 풀 상세 페이지로 이동
    사설 IP노드의 사설 IP 정보
    AZ노드가 실행되는 Subnet의 AZ 정보
    생성 요청 시간노드의 생성이 요청된 후 경과된 시간으로, 노드의 생성일을 의미하지 않음

클러스터 자동 축소 설정

자동 확장을 설정한 클러스터의 노드 풀에 적용되는 자동 축소 조건을 설정합니다.
특정 노드 풀의 노드 리소스 사용량이 일정 수준 이하로 유지될 때 노드 수를 자동으로 감소하는 조건이며, 자동 축소 조건은 클러스터 단위로 설정 가능하여 클러스터의 모든 노드 풀에 공통으로 적용됩니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 자동 축소를 설정할 클러스터의 [더 보기] 아이콘 > 자동 축소 설정을 선택합니다.

  3. 자동 축소 설정 팝업창에서 정보를 입력하고, [저장] 버튼을 클릭합니다.

    이미지. 자동 축소 설정 팝업창 자동 축소 설정 팝업창

    구분설명
    클러스터 내 노드 풀 자동 축소클러스터의 노드 풀 중 자동 확장 기능을 사용하는 모든 노드 풀의 자동 축소 사용 여부를 설정
    - 기본값: 사용함
    자동 축소 임계치 조건노드 수를 자동으로 축소하는 기준인 노드 리소스(CPU/Memory) 사용량의 임계치
    - 입력 가능 범위 : 1~100
    - 기본값: 50%
    임계치 지속 시간노드의 리소스 사용량이 자동 축소 임계치 조건 이하로 유지되는 일정 시간 기준
    - 입력 가능 범위 : 1~1440
    - 기본값: 10분
    증설 후 자동 축소 모니터링 제외 시간노드를 자동 증설한 후, 자동 축소를 위한 노드 모니터링에 일정 시간 동안 포함하지 않는 시간
    - 입력 가능 범위 : 10~1440
    - 기본값: 10분

클러스터 삭제

더 이상 사용하지 않는 클러스터를 삭제할 수 있습니다.

주의
  • 클러스터 삭제 시, 클러스터를 생성할 때 자동으로 생성된 리소스도 함께 삭제됩니다. 자세한 설명은 클러스터/노드 풀 생성 시 자동 생성 리소스를 참고하시기 바랍니다.
  • 자동 생성된 Security Group에 노드가 아닌 별도의 인스턴스를 연결해 두었다면, 해당 Security Group은 삭제되지 않습니다.
  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 삭제할 클러스터의 [더 보기] 아이콘 > 클러스터 삭제를 선택합니다.

  3. 클러스터 삭제 팝업창에서 정보를 입력하고, [삭제] 버튼을 클릭합니다.

클러스터 업데이트

Kubernetes Engine에서 새로운 Kubernetes 버전을 사용할 수 있는 경우, 클러스터의 제어 영역을 최신 버전으로 업데이트할 수 있습니다. 업데이트를 시작하면 최신 버전의 제어 영역을 생성하여 기존 제어 영역을 대체합니다.
Kubernetes Engine 서비스에서 클러스터를 업데이트하는 방법은 다음과 같습니다.

안내

Kubernetes Engine에서 지원하는 쿠버네티스 버전에 대한 자세한 설명은 지원 정보를 참고하시기 바랍니다.

업데이트 전 고려사항

업데이트를 시작하기 전 다음의 조건을 모두 충족하지 않는 경우, 업데이트가 진행되지 않습니다. 이때 오픈 소스 커뮤니티에서 제공하는 변경 로그를 확인하여 업데이트할 Kubernetes 버전의 변경 사항이 사용자의 애플리케이션에 미치는 영향을 점검합니다.

업데이트 조건

조건설명
클러스터 상태Provisioned 상태
- 그 외 상태인 경우, 업데이트 버튼이 노출되지 않음
모든 노드 풀 상태Running 상태
- 그 외 상태인 경우, 업데이트 버튼이 노출되지 않음
모든 노드 풀 버전클러스터와 동일 버전
- 클러스터와 노드 풀 버전이 한 단계 이상 차이 나는 경우, 업데이트 버튼이 노출되지 않음

업데이트 절차

클러스터가 최신 버전을 사용할 수 있고 업데이트 조건을 모두 만족한 경우, 클러스터를 업데이트할 수 있습니다.

안내

Kubernetes 버전은 계단식 업데이트를 제공하며 한 번에 한 버전만 업데이트할 수 있습니다.
두 개 이상의 버전을 업데이트할 경우, 순차적으로 한 버전씩 업데이트를 진행해야 합니다.

주의

업데이트 시작 시 취소할 수 없으며, 업데이트 전 버전으로 되돌릴 수 없습니다.

  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.

  2. Cluster 탭에서 업데이트할 클러스터의 Kubernetes 버전 열에 표시되는 [업데이트] 버튼을 클릭합니다.

    • 또는 클러스터 상세 페이지에서 Kubernetes 버전 > [업데이트] 버튼을 선택합니다.
  3. 클러스터 버전 업데이트 팝업창에서 업데이트 버전을 확인하고, [업데이트] 버튼을 클릭합니다.

  4. 클러스터가 업데이트를 시작하면 클러스터의 상태는 Updating으로 전환됩니다. 클러스터 업데이트가 완료되면 Provisioned 상태로 전환됩니다. 업데이트 중에는 신규 노드 풀의 추가와 기존 노드 풀 설정이 불가합니다.

업데이트 후 고려사항

클러스터 업데이트 후 노드 풀을 생성할 경우, 클러스터의 버전에 맞는 최신 노드 버전이 적용됩니다. 기존 노드 풀은 설정할 수 없으며, 업데이트해야 합니다. 노드 풀 업데이트에 대한 자세한 설명은 노드 업데이트를 참고하시기 바랍니다.

업데이트 실패 시 확인사항

업데이트 실패 시 클러스터 상태가 Failed로 전환됩니다. 업데이트를 실패한 경우에는 헬프데스크 > 기술 문의로 문의하시기 바랍니다.

  1. 카카오클라우드 콘솔에서 우측 상단의 헬프데스크를 선택합니다.
  2. 질문과 답변 탭에서 우측 상단에 위치한 [질문하기] 버튼을 클릭합니다.
  3. [기술 문의] 버튼을 클릭합니다.
  4. 질문하기에서 정보를 입력하고, [등록] 버튼을 클릭합니다.