본문으로 건너뛰기

클러스터 생성 및 관리

클러스터는 Kubernetes Engine의 기본 리소스로, 컨테이너 애플리케이션을 포함한 Kubernetes 객체가 실행되는 환경입니다.

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

클러스터 생성

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.

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

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

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

    구분설명
    기본 설정• 클러스터의 기본 정보 설정
    - 이름: 클러스터의 이름 입력
    - 설명(선택): 60자 이내로 클러스터 설명 작성
    - Kubernetes 버전: 클러스터에서 사용할 Kubernetes 버전 선택
      ㄴ Kubernetes Engine에서 제공하는 지원 버전에 대한 자세한 설명은 지원 정보를 참고
    클러스터 네트워크 설정• 클러스터의 네트워크 설정
    - VPC: 프로젝트에 공유된 VPC 중 클러스터를 배포할 VPC 선택
    - 서브넷: 프로젝트에 공유된 서브넷 중 클러스터를 배포할 서브넷 선택
      ㄴ 노드 풀 생성 시 클러스터 네트워크에서 설정한 서브넷 중 노드가 실행될 서브넷 선택
      ㄴ 다중 AZ를 지원하는 환경에서는 서로 다른 가용 영역의 서브넷을 다중 선택하여 가용성을 높일 수 있음
      ㄴ 다중 AZ 클러스터의 가용성을 높이기 위해 각 가용 영역별 최소 1개 이상의 서브넷 선택 필요
    - 클러스터 엔드포인트 액세스: 퍼블릭 또는 프라이빗 엔드포인트 액세스 선택
      ㄴ 퍼블릭: 외부 인터넷에서 연결할 수 있는 클러스터 엔드포인트
      ㄴ 프라이빗: VPC 내부 네트워크에서만 접근할 수 있는 클러스터 엔드포인트
    - 엔드포인트 접근 제어 설정: 클러스터 API 서버 엔드포인트에 접근할 수 있는 IPv4 CIDR 범위 설정
      ㄴ 전체 허용: 모든 IPv4 주소(0.0.0.0/0)에서 접근 허용
      ㄴ 허용 목록 지정: 허용 CIDR 블록 목록에 등록된 주소에서만 접근 허용
    CNI• Calico와 Cilium 중, 필요한 상황에 맞게 클러스터에서 사용할 CNI 플러그인을 선택
    - 서비스 IP CIDR 블록(선택): 클러스터의 서비스 객체가 수신할 IP를 지정
    - 파드 IP CIDR 블록(선택): 파드가 수신할 IP를 지정
    ⚠️ 주의
    서비스 IP와 파드 IP는 클러스터 생성 후에는 변경할 수 없습니다.
안내

클러스터의 네트워크가 프라이빗 서브넷일 경우, 프라이빗 서브넷의 노드는 인터넷과 통신할 수 없습니다. 외부 CR과 통신하려면 NAT 통신이 필요합니다. NAT 통신에는 NAT 인스턴스를 사용할 수 있습니다. 자세한 내용은 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 서버 엔드포인트 URL을 제공합니다.

클러스터 엔드포인트 옵션동작
퍼블릭 클러스터 엔드포인트- 외부 인터넷에서 연결 가능한 API 서버 엔드포인트 제공
- API 서버 엔드포인트는 퍼블릭 IP 주소
프라이빗 클러스터 엔드포인트- VPC 내부 네트워크로 연결이 제한된 API 서버 엔드포인트 제공
- 외부 인터넷에서 API 서버 엔드포인트로 액세스 불가
- API 서버 엔드포인트는 VPC의 프라이빗 IP 주소

엔드포인트 접근 제어

클러스터 생성 시 API 서버 엔드포인트에 접근할 수 있는 IPv4 CIDR 범위를 설정할 수 있습니다.

설정설명
전체 허용모든 IPv4 주소(0.0.0.0/0)에서 클러스터 API 서버 엔드포인트로의 네트워크 접근 허용
허용 목록 지정허용 CIDR 블록 목록에 등록된 주소에서만 클러스터 API 서버 엔드포인트에 접근 가능. CIDR 블록은 최소 1개에서 최대 40개까지 등록 가능하며, 각 CIDR 블록에 최대 10자의 설명 입력 가능
주의

허용 목록에 현재 접속한 IP 주소가 포함되지 않으면 클러스터 API 서버 엔드포인트에 접근할 수 없습니다. 현재 접속한 IP 주소를 확인할 수 없는 경우에는 접근을 허용할 CIDR 블록을 직접 입력하세요.

튜토리얼 안내

클러스터 생성 후 실제 운영 구성을 확장하는 흐름은 다음 튜토리얼에서 확인할 수 있습니다.

클러스터 관리

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

클러스터 목록 보기

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

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.

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

    구분설명
    이름클러스터 이름
    ID클러스터 고유 ID
    상태클러스터의 상태 정보
    - Provisioned: 클러스터 프로비저닝 완료
    - Pending: 클러스터 프로비저닝 준비 중
    - Provisioning: 클러스터 프로비저닝 중
    - Deleting: 클러스터 삭제 중
    - Failed: 사용자의 개입이 필요한 실패 상태
    Kubernetes 버전클러스터의 Kubernetes 버전 정보
    VPC클러스터가 배포된 VPC
    서브넷 수클러스터에서 사용하는 서브넷 수
    노드 풀 수클러스터에 속한 노드 풀 수
    노드 수클러스터에 속한 노드 수
    생성 일시클러스터를 생성한 일시
    [⋮] 버튼- 수정: 클러스터의 이름과 설명 확인 및 수정
    - kubeconfig 파일: kubectl 제어 설정을 위한 kubeconfig 다운로드
    - 엔드포인트 접근 제어 설정: 클러스터 API 서버 엔드포인트에 접근할 수 있는 CIDR 범위 설정
    - 노드 풀 생성: 클러스터에 새 노드 풀 생성
    - 삭제: 클러스터 삭제

클러스터 상세 보기

클러스터의 세부 정보와 토폴로지, 네트워크, 엔드포인트 접근 제어, 노드 풀, 노드 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.

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

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

    설명
    세부 정보클러스터의 기본 정보와 리소스 현황 확인
    토폴로지클러스터의 서브넷, 노드 풀, 노드 구성 확인
    네트워크클러스터가 사용하는 VPC와 서브넷 정보 확인
    엔드포인트 접근 제어클러스터 API 서버 엔드포인트의 접근 허용 범위 확인
    노드 풀클러스터에 속한 노드 풀 정보 확인
    노드클러스터에 속한 노드 정보 확인

클러스터 세부 정보 확인

클러스터의 기본 정보와 리소스 현황을 확인할 수 있습니다.

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.

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

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

    구분설명
    이름클러스터 이름
    ID클러스터의 고유 ID
    상태클러스터의 현재 상태
    Kubernetes 버전현재 사용 중인 Kubernetes 버전
    API 서버 엔드포인트클러스터 API를 호출할 엔드포인트
    CNI클러스터에서 사용하는 CNI 플러그인
    서비스 CIDR 블록클러스터의 Service에 할당하는 IP 주소 범위
    파드 CIDR 블록클러스터의 Pod에 할당하는 IP 주소 범위
    노드 풀 수클러스터에 속한 노드 풀 수
    노드 수클러스터에 속한 노드 수
    전체 vCPU클러스터 내 워커 노드의 vCPU 총합
    전체 메모리클러스터 내 워커 노드들의 메모리 총합
    생성자 ID클러스터를 생성한 사용자 ID
    생성 일시클러스터를 생성한 일시

노드 풀 정보 확인

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

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.

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

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

    구분설명
    이름노드 풀 이름
    - 노드 풀 이름 클릭 시 노드 풀 상세 페이지로 이동
    ID노드 풀의 고유 ID
    상태노드 풀의 상태
    - Running: 노드 풀 정상 실행 중(노드 상태와는 무관)
    - Running (Scheduling Disable): 노드 풀의 모든 노드가 스케줄링 차단된 상태
    - ScalingUp: 노드 개수 확장 중
    - ScalingDown: 노드 개수 축소 중
    - Deleting: 노드 풀 삭제 중
    - Failed: 사용자의 개입이 필요한 실패 상태
    Kubernetes 버전노드 풀의 노드가 현재 사용 중인 Kubernetes 버전
    인스턴스 유형노드 풀의 노드에서 사용하는 인스턴스 유형
    노드 풀 유형노드가 동작하는 인스턴스 종류
    이미지노드 풀의 노드에서 사용하는 이미지
    볼륨 크기노드 풀의 노드에서 사용하는 인스턴스의 볼륨 크기
    노드 수현재 노드 풀에 속한 노드 수
    서브넷 수노드 풀에서 사용하는 서브넷 수
    가용 영역노드 풀에서 사용하는 서브넷의 가용 영역 정보
    생성 일시노드 풀을 생성한 일시
    [⋮] 버튼- 수정: 노드 풀의 정보와 노드 수 확인 및 수정
    - 삭제: 노드 풀 삭제

노드 정보 확인

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

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.

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

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

    구분설명
    이름노드 이름
    - 노드 이름 클릭 시 노드 상세 페이지로 이동
    ID노드의 고유 ID
    상태노드 상태 정보
    - Running: 노드가 준비되어 실행 중
    - Running (Scheduling Disable): 해당 노드로 신규 스케줄링 차단된 상태(이미 할당되어 실행 중인 파드와는 무관)
    - Provisioned: 노드 프로비저닝 완료
    - Deleted: 노드 삭제 완료
    - Pending: 노드 프로비저닝 준비 중
    - Provisioning: 노드 프로비저닝 중
    - Deleting: 노드 삭제 중
    - Failed: 사용자의 개입이 필요한 실패 상태
    노드 풀노드가 속한 노드 풀의 정보
    - 노드 풀 클릭 시, 노드 풀 상세 페이지로 이동
    이미지노드에서 사용하는 이미지
    프라이빗 IP노드의 프라이빗 IP 정보
    가용 영역노드가 실행되는 서브넷의 가용 영역 정보
    파드 스케줄링허용 : 노드에 새 파드를 할당할 수 있음
    차단 : 노드에 새 파드가 할당되지 않도록 차단
    가동 시간노드의 생성이 요청된 후 경과된 시간으로, 노드의 생성일을 의미하지 않음
    [⋮] 버튼- 파드 스케줄링 설정: 노드의 파드 스케줄링 허용 또는 차단
    - 이미지 생성: 노드의 루트 볼륨으로 커스텀 이미지 생성
    - 재생성: 노드 재생성
    - 삭제: 노드 삭제

클러스터 수정

클러스터의 이름, ID, 설명을 확인하고 이름과 설명을 수정할 수 있습니다.

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

  2. 클러스터 메뉴에서 설정할 클러스터의 [⋮] 버튼 > 수정을 선택합니다.

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

    구분설명
    이름현재 클러스터의 이름
    ID클러스터의 고유 ID
    설명클러스터 생성 시 작성한 설명
    - 60자 이내로 클러스터 설명 수정 또는 작성 가능

엔드포인트 접근 제어 설정

클러스터를 생성한 후에도 API 서버 엔드포인트의 접근 허용 범위를 변경할 수 있습니다.

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.
  2. 클러스터 메뉴에서 설정할 클러스터의 [⋮] 버튼 > 엔드포인트 접근 제어 설정을 선택합니다.
  3. 전체 허용 또는 허용 목록 지정을 선택합니다.
  4. 허용 목록 지정을 선택한 경우 허용할 CIDR 블록과 설명을 입력한 후 [저장] 버튼을 클릭합니다.

허용 목록의 입력 조건과 주의사항은 엔드포인트 접근 제어를 참고하세요.

클러스터 삭제

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

주의
  • 클러스터 삭제 시, 클러스터를 생성할 때 자동으로 생성된 리소스도 함께 삭제됩니다. 자세한 설명은 클러스터/노드 풀 생성 시 자동 생성 리소스를 참고하시기 바랍니다.
  • 자동 생성된 보안 그룹의 노드가 아닌 별도의 인스턴스를 연결해 두었다면, 해당 보안 그룹은 삭제되지 않습니다.
  1. 카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택합니다.
  2. 클러스터 메뉴에서 삭제할 클러스터의 [⋮] 버튼 > 삭제를 선택합니다.
  3. 팝업창에서 정보를 입력하고, [삭제] 버튼을 클릭합니다.

클러스터 업데이트

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

안내

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

업데이트 전 확인 사항

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

업데이트 조건

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

업데이트 절차

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

안내

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

주의

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

  1. 카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.

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

  3. 팝업창에서 업데이트 버전을 확인하고, [업데이트] 버튼을 클릭합니다.

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

업데이트 후 노드 풀 관리

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

업데이트 실패 시 조치

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

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