Autopilot 클러스터 만들기


이 페이지에서는 Autopilot 모드에서 Google Kubernetes Engine(GKE) 클러스터를 만드는 방법을 설명합니다. Autopilot은 GKE에서 노드와 인프라를 관리하는 동안 서비스와 애플리케이션에 집중할 수 있게 해주는 GKE 모드 작업입니다. 워크로드를 배포할 때 GKE는 확장 시기를 포함하여 리소스와 하드웨어를 프로비저닝, 구성, 관리합니다.

시작하기 전에

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

  • Google Kubernetes Engine API를 사용 설정합니다.
  • Google Kubernetes Engine API 사용 설정
  • 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화하세요. 이전에 gcloud CLI를 설치한 경우 gcloud components update를 실행하여 최신 버전을 가져옵니다.

GKE의 IAM 서비스 계정 설정

GKE는 노드에 연결된 IAM 서비스 계정을 사용하여 로깅 및 모니터링과 같은 시스템 작업을 실행합니다. 이러한 노드 서비스 계정에는 프로젝트에 대한 Kubernetes Engine 기본 노드 서비스 계정(roles/container.defaultNodeServiceAccount) 역할이 최소한 있어야 합니다. 기본적으로 GKE는 프로젝트에서 자동으로 생성되는 Compute Engine 기본 서비스 계정을 노드 서비스 계정으로 사용합니다.

Compute Engine 기본 서비스 계정에 roles/container.defaultNodeServiceAccount 역할을 부여하려면 다음 단계를 완료하세요.

콘솔

  1. 시작 페이지로 이동합니다.

    시작으로 이동

  2. 프로젝트 번호 필드에서 클립보드에 복사를 클릭합니다.
  3. IAM 페이지로 이동합니다.

    IAM으로 이동

  4. 액세스 권한 부여를 클릭합니다.
  5. 새 주 구성원 필드에 다음 값을 지정합니다.
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    PROJECT_NUMBER를 복사한 프로젝트 번호로 바꿉니다.
  6. 역할 선택 메뉴에서 Kubernetes Engine 기본 노드 서비스 계정 역할을 선택합니다.
  7. 저장을 클릭합니다.

gcloud

  1. Google Cloud 프로젝트 번호를 찾습니다.
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    PROJECT_ID를 프로젝트 ID로 바꿉니다.

    출력은 다음과 비슷합니다.

    12345678901
    
  2. Compute Engine 기본 서비스 계정에 roles/container.defaultNodeServiceAccount 역할을 부여합니다.
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    PROJECT_NUMBER를 이전 단계의 프로젝트 번호로 바꿉니다.

Autopilot 클러스터 만들기

새 Autopilot 클러스터를 만들 때 지정해야 하는 최소 정보는 이름, 프로젝트 (일반적으로 현재 프로젝트), 리전 (일반적으로 명령줄 도구의 기본 리전)입니다. 그러나 구성 설정은 이 외에도 더 많으며, 그중 일부는 클러스터를 만든 후에는 변경할 수 없습니다. 클러스터를 만든 후에는 변경할 수 없는 설정을 이해하고 클러스터를 다시 만들지 않으려면 클러스터를 만들 때 올바른 설정을 선택해야 합니다.

클러스터 구성 선택 정보에서 클러스터 구성 옵션에 대한 개요를 확인하고 gcloud container clusters create-auto 및 Terraform google_container_cluster 참조 가이드에서 가능한 옵션의 전체 목록을 확인할 수 있습니다.

Google Cloud CLI, Google Cloud 콘솔 또는 Terraform을 사용하여 Autopilot 클러스터를 만들 수 있습니다.

gcloud

다음 명령어를 실행합니다.

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

다음을 바꿉니다.

  • CLUSTER_NAME: 새 Autopilot 클러스터의 이름
  • LOCATION: 클러스터의 리전
  • PROJECT_ID: 프로젝트 ID입니다.

Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법을 알아보려면 최소 권한의 서비스 계정 사용을 참고하세요.

gcloud CLI에서 맞춤 서비스 계정을 지정하려면 명령어에 다음 플래그를 추가합니다.

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

SERVICE_ACCOUNT_NAME을 최소 권한 서비스 계정의 이름으로 바꿉니다.

지정할 수 있는 다른 옵션 목록은 gcloud container clusters create-auto 참고 문서를 확인하세요.

콘솔

다음 작업을 수행합니다.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 만들기를 클릭합니다.

  3. 클러스터 기본사항 섹션에서 다음을 완료합니다.

  4. 클러스터의 이름을 입력합니다.

  5. 클러스터의 리전을 선택합니다.

    1. 선택사항(GKE Enterprise에서 사용 가능): 새 클러스터를 Fleet에 등록하려는 경우 Fleet 등록 섹션으로 이동하여 Google Cloud 콘솔의 새 클러스터 생성 및 등록 지침에 따라 클러스터 등록을 완료하세요.
  6. 네트워킹 섹션의 구성 안내는 네트워크 격리 맞춤설정을 참고하세요.

  7. 원하는 경우 노드에 맞춤 IAM 서비스 계정을 지정합니다.
    1. 고급 설정 페이지에서 보안 섹션을 펼칩니다.
    2. 서비스 계정 메뉴에서 원하는 서비스 계정을 선택합니다.

    Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법을 알아보려면 최소 권한의 서비스 계정 사용을 참고하세요.

  8. 또는 유지보수 기간 및 고급 보안 기능과 같은 다른 설정을 구성합니다.

  9. 만들기를 클릭합니다.

Terraform

Terraform을 사용하여 Autopilot 클러스터를 만들려면 다음 예시를 참조하세요.

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-basic"
  location = "us-central1"

  enable_autopilot = true

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Terraform 사용에 대한 자세한 내용은 GKE에 대한 Terraform 지원을 참조하세요.

특정 출시 채널 및 버전으로 Autopilot 클러스터 만들기

기본적으로 GKE는 채널에서 기본 GKE 버전을 사용하여 새 Autopilot 클러스터를 일반 출시 채널에 등록합니다. gcloud CLI, Google Cloud 콘솔 또는 Terraform을 사용하여 Autopilot 클러스터를 만들 때 출시 채널을 변경할 수 있습니다.

gcloud CLI를 사용하여 클러스터를 만들 때 특정 GKE 버전을 설정할 수도 있습니다. 클러스터 버전 설정은 특정 버전 요구사항이 있는 경우에만 유용합니다. 클러스터 버전을 설정하려면 gcloud container clusters create-auto 명령어--cluster-version 플래그를 지정합니다. 지정하는 버전은 사용 가능한 GKE 버전이어야 합니다.

출시 채널 및 버전을 설정하기 위한 다음 안내는 선택사항입니다. 특정 GKE 버전이 필요하지 않으면 기본 출시 채널 설정을 유지하는 것이 좋습니다.

gcloud

다음 명령어를 실행합니다.

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --release-channel=RELEASE_CHANNEL

RELEASE_CHANNEL을 클러스터의 출시 채널 이름으로 바꿉니다. 기본값은 Regular입니다.

또는 --cluster-version=CLUSTER_VERSION을 지정하여 CLUSTER_VERSION을 클러스터의 GKE 버전(예: 1.29.4-gke.1043002)으로 바꿉니다. 최신 버전이 출시 채널의 기본값이 될 때까지 지정한 버전이 적용됩니다. 그런 다음 GKE는 클러스터를 새 기본 버전으로 자동 업그레이드합니다. 이 플래그를 생략하면 GKE가 버전을 출시 채널의 기본 버전으로 설정합니다.

사용 가능한 버전을 확인하려면 채널에서 사용할 수 있는 버전을 참조하세요. 선택한 채널에서 모든 마이너 버전을 실행하거나 다른 채널의 패치 버전 하위 집합을 선택할 수 있습니다.

콘솔

Autopilot 클러스터를 만들 때 출시 채널을 설정하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 만들기를 클릭합니다.

  3. Autopilot에서 구성을 클릭합니다.

  4. 클러스터 기본사항 섹션에서 다음을 완료합니다.

    1. 이름을 지정합니다.
    2. 리전을 선택합니다.
  5. 고급 설정 섹션에서 출시 채널을 선택합니다.

  6. 만들기를 클릭합니다.

Terraform

Terraform을 사용하여 Autopilot 클러스터를 만들 때 출시 채널과 클러스터 버전을 설정하려면 다음 예시를 참조하세요.

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-release-channel"
  location = "us-central1"

  enable_autopilot = true

  release_channel {
    channel = "REGULAR"
  }

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Terraform 사용에 대한 자세한 내용은 GKE에 대한 Terraform 지원을 참조하세요.

기존 클러스터의 출시 채널과 GKE 버전을 변경할 수도 있습니다. 자세한 내용은 컨트롤 플레인 수동 업그레이드새 출시 채널 선택을 참조하세요.

클러스터에 연결

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

이 명령어는 생성한 클러스터를 사용하도록 kubectl을 구성합니다.

콘솔

  1. 클러스터 목록에서 연결하려는 클러스터 옆의 작업을 클릭한 다음 연결을 클릭합니다.

  2. 메시지가 표시되면 Cloud Shell에서 실행을 클릭합니다. 생성된 명령어는 Cloud Shell에 복사됩니다. 예를 들면 다음과 같습니다.

    gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test
    
  3. Enter 키를 눌러 명령어를 실행합니다.

클러스터 모드 확인

gcloud CLI 또는 Google Cloud 콘솔을 사용하여 클러스터가 Autopilot 클러스터인지 확인할 수 있습니다.

gcloud

클러스터가 Autopilot 모드로 생성되었는지 확인하려면 다음 명령어를 실행합니다.

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION

출력에는 다음이 포함됩니다.

autopilot:
  enabled: true

콘솔

클러스터가 Autopilot 모드로 생성되었는지 확인하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 클러스터 목록에서 클러스터를 찾습니다. 모드Autopilot이라고 표시됩니다.

다음 단계