Autopilot 클러스터 만들기


이 페이지에서는 Autopilot 모드에서 Google Kubernetes Engine(GKE) 클러스터를 만드는 방법을 설명합니다. Autopilot 작업 모드는 서비스 및 애플리케이션에 집중할 수 있도록 Google이 노드 관리 및 인프라를 관리하는 핸드오프 Kubernetes 환경입니다. 노드 사용량을 계획할 필요 없이 포드를 예약할 수 있습니다. Autopilot 클러스터를 만든 후에는 워크로드를 배포하고 필요에 따라 애플리케이션을 확장할 수 있습니다. GKE는 워크로드를 실행할 리소스와 하드웨어를 프로비저닝, 구성, 관리합니다.

시작하기 전에

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

  • Google Kubernetes Engine API가 사용 설정되었는지 확인합니다.
  • Google Kubernetes Engine API 사용 설정
  • Cloud SDK가 설치되었는지 확인합니다.
  • 다음 방법 중 하나를 사용하여 프로젝트의 기본 gcloud 명령줄 도구 설정을 지정합니다.
    • 프로젝트 기본값 설정 방법을 알아보려면 gcloud init를 사용합니다.
    • 프로젝트 ID, 영역, 리전을 개별적으로 설정하려면 gcloud config를 사용합니다.

    gcloud init

    1. gcloud init를 실행하고 다음 안내를 따르세요.

      gcloud init

      원격 서버에서 SSH를 사용하는 경우 --console-only 플래그를 사용하여 다음 명령어로 브라우저를 실행하지 못하게 할 수 있습니다.

      gcloud init --console-only
    2. 안내를 따라 gcloud 도구에서 Google Cloud 계정을 사용하도록 승인합니다.
    3. 새 구성을 만들거나 기존 구성을 선택합니다.
    4. Google Cloud 프로젝트를 선택합니다.
    5. 기본 Compute Engine 영역을 선택합니다.
    6. 기본 Compute Engine 리전을 선택합니다.

    gcloud config

    1. 기본 프로젝트 ID를 설정합니다.
      gcloud config set project PROJECT_ID
    2. 기본 Compute Engine 리전(예: us-central1)을 설정합니다.
      gcloud config set compute/region COMPUTE_REGION
    3. 기본 Compute Engine 영역(예: us-central1-c)을 설정합니다.
      gcloud config set compute/zone COMPUTE_ZONE
    4. gcloud를 최신 버전으로 업데이트합니다.
      gcloud components update

    기본 위치를 설정하면 gcloud 도구에서 One of [--zone, --region] must be supplied: Please specify location과 같은 오류를 방지할 수 있습니다.

Autopilot 클러스터 만들기

gcloud 명령줄 도구 또는 Google Cloud Console을 사용하여 Autopilot 클러스터를 만들 수 있습니다.

gcloud

gcloud 명령줄 도구를 사용하여 공개 Autopilot 클러스터를 만들려면 다음 명령어를 실행합니다.

gcloud container clusters create-auto CLUSTER_NAME \
    --region REGION \
    --project=PROJECT_ID

다음을 바꿉니다.

  • CLUSTER_NAME: 새 Autopilot 클러스터의 이름입니다.
  • REGION: 클러스터에 사용할 리전입니다(예: us-central1).
  • PROJECT_ID: 프로젝트 ID입니다.

Autopilot 클러스터를 만들 때 네트워크 이름 또는 비공개 클러스터 지정과 같은 추가 옵션을 지정할 수 있습니다.

  • --network는 클러스터가 연결되는 네트워크를 지정합니다.
  • --subnetwork는 클러스터가 연결되는 서브네트워크를 지정합니다.
  • --enable-master-authorized-network는 공개 엔드포인트에 대한 액세스를 사용자가 승인한 IP 주소 범위로 제한합니다.
  • --master-authorized-networks는 공개 엔드포인트에 액세스하도록 승인된 머신 그룹의 주소를 지정합니다.
  • --cluster-ipv4-cidr은 포드 주소 범위를 지정합니다.
  • --services-ipv4-cidr은 서비스 주소 범위를 지정합니다.
  • --enable-private-nodes는 외부 IP 주소가 없는 비공개 클러스터를 만듭니다.
  • --master-ipv4-cidr은 제어 영역의 내부 주소 범위를 지정합니다(비공개 클러스터용).
  • --enable-private-endpoint는 클러스터가 제어 영역 API 엔드포인트의 비공개 IP 주소를 사용하여 관리됨을 나타냅니다(비공개 클러스터용).

전체 옵션 목록은 gcloud container clusters create-auto 참조 문서를 확인하세요.

Console

Google Cloud Console로 Autopilot 클러스터를 만들려면 다음 태스크를 수행하세요.

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

    Google Kubernetes Engine으로 이동

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

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

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

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

  6. 공개 또는 비공개 클러스터를 선택합니다.

  7. (선택사항) 네트워킹 옵션을 펼쳐 네트워크 설정을 지정합니다.

    1. 비공개 클러스터를 선택하는 경우:
      1. 승인된 외부 IP 주소에서 액세스할 수 있는 제어 영역을 만들려면 외부 IP 주소를 사용하여 제어 영역 액세스 체크박스를 선택합니다. 공개 엔드포인트 액세스를 사용 중지하려면 이 체크박스를 선택 해제합니다.
      2. (선택사항) 제어 영역 IP 범위를 설정합니다(예: 172.16.0.0/28).
    2. 공개 엔드포인트에 대한 액세스가 제한된 클러스터를 만들려면 제어 영역 승인된 네트워크 사용 설정 체크박스를 선택합니다.
      1. 승인된 네트워크 추가를 클릭하여 지정된 특정 주소 집합에 대한 액세스 권한을 부여합니다.
      2. 이름에 원하는 네트워크 이름을 입력합니다.
      3. 네트워크에 클러스터 제어 영역에 대한 허용된 액세스 권한을 부여할 CIDR 범위를 입력합니다.
      4. 완료를 클릭합니다. 필요에 따라 승인된 네트워크를 더 추가합니다.
    3. 네트워크노드 서브넷을 입력하거나 default 설정을 그대로 사용합니다. 이 옵션은 클러스터의 서브넷을 생성합니다.
    4. 포드 주소 범위 필드에 포드 범위 또는 마스크를 입력하거나 기본값(예: 10.0.0.0/14)을 그대로 사용합니다.
    5. 서비스 주소 범위 필드에 서비스 범위 포드 범위 또는 마스크를 입력하거나 기본값(예: 10.4.0.0/19)을 그대로 사용합니다.
  8. (선택사항) 고급 옵션을 펼친 후 추가 설정을 지정합니다.

    1. 제어 영역의 출시 채널을 선택합니다.
    2. 클러스터에서 자동 클러스터 유지보수가 수행되는 시기를 제어하려면 유지보수 기간 사용 설정을 클릭합니다.
      1. 유지보수 제외 추가를 클릭합니다. 주별 유지보수의 경우 시작 시간과 기간을 선택한 다음 유지보수 기간이 수행되는 요일을 선택합니다. 규칙을 직접 수정하려면 커스텀 편집기로 전환합니다.
    3. 메타데이터 필드에 클러스터의 설명을 입력합니다.
    4. 클러스터를 정리하기 위해 키-값 쌍을 추가하려면 라벨 추가를 클릭합니다.
  9. 만들기를 클릭합니다.

Cloud NAT로 비공개 클러스터에서 아웃바운드 인터넷 액세스 사용 설정

Autopilot 클러스터는 기본적으로 공개되어 있습니다. 비공개 Autopilot 클러스터를 만든 경우 이러한 노드에는 외부 IP 주소가 없습니다. 클러스터에서 아웃바운드 인터넷 연결을 만들려면(예: DockerHub에서 이미지 가져오기) Cloud NAT를 구성해야 합니다. Cloud NAT를 사용하면 비공개 클러스터가 인터넷에 아웃바운드 패킷을 보내고 그에 따라 설정된 인바운드 응답 패킷을 받을 수 있습니다. 다음 태스크를 수행하여 Cloud Router에서 NAT 구성을 만듭니다.

gcloud

gcloud 명령줄 도구를 사용하여 클러스터를 NAT하려면 다음 명령어를 실행합니다.

  1. Cloud Router 만들기:

    gcloud compute routers create NAT_ROUTER \
        --network NETWORK \
        --region REGION \
        --project=PROJECT_ID
    

    다음을 바꿉니다.

    • NAT_ROUTER: Cloud Router의 이름입니다.
    • NETWORK: Cloud Router를 만들 네트워크 이름입니다. 예를 들어 기본 네트워크를 NAT하려면 라우터를 만들 때 default 네트워크 이름을 사용합니다.
    • REGION: 클러스터에 사용할 리전입니다(예: us-central1).
    • PROJECT_ID: 프로젝트 ID입니다.
  2. 라우터에 구성을 추가합니다. 이 구성을 사용하면 리전 내 모든 인스턴스가 모든 기본 및 별칭 IP 범위에서 Cloud NAT를 사용할 수 있습니다. 또한 외부 IP 주소가 NAT 게이트웨이에 자동으로 할당됩니다. 더 많은 옵션은 gcloud 명령줄 도구 문서를 참조하세요.

    gcloud compute routers nats create NAT_CONFIG \
        --region REGION \
        --router NAT_ROUTER \
        --nat-all-subnet-ip-ranges \
        --auto-allocate-nat-external-ips \
        --project=PROJECT_ID
    

    다음을 바꿉니다.

    • NAT_CONFIG: NAT 구성 이름입니다.
    • REGION: 클러스터에 사용할 리전입니다(예: us-central1).
    • NAT_ROUTER: Cloud Router의 이름입니다.
    • PROJECT_ID: 프로젝트 ID입니다.

Console

  1. Cloud Console에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. 시작하기 또는 NAT 게이트웨이 만들기를 클릭합니다.

  3. 게이트웨이 이름을 입력합니다.

  4. VPC 네트워크를 선택합니다.

  5. NAT 게이트웨이의 리전을 설정합니다.

  6. 리전에서 Cloud Router를 선택하거나 만듭니다.

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

클러스터에 연결

클러스터를 만든 후 클러스터에 연결하려면 인증 사용자 인증 정보를 얻어야 합니다.

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --region REGION \
    --project=PROJECT_ID

다음을 바꿉니다.

  • CLUSTER_NAME: 새 Autopilot 클러스터의 이름입니다.
  • REGION: 클러스터에 사용할 리전입니다(예: us-central1).
  • PROJECT_ID: 프로젝트 ID입니다.

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

Console

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

    Google Kubernetes Engine으로 이동

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

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

    gcloud container clusters get-credentials autopilot-cluster --region us-east1 --project autopilot-test
    
  4. Enter 키를 눌러 명령어를 실행합니다.

클러스터 모드 확인

gcloud 명령줄 도구 또는 Google Cloud Console을 사용하여 클러스터가 Autopilot 클러스터인지 확인할 수 있습니다.

gcloud

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

gcloud container clusters describe CLUSTER_NAME \
    --region REGION

다음을 바꿉니다.

  • CLUSTER_NAME: Autopilot 클러스터의 이름입니다.
  • REGION: 클러스터에 사용할 리전입니다(예: us-central1).

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

autopilot:
  enabled: true

Console

클러스터가 Autopilot 모드로 생성되었는지 확인하려면 다음 안내를 따르세요.

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

    Google Kubernetes Engine으로 이동

  2. 클러스터 목록에서 클러스터를 찾습니다. 모드 열에서 상태가 Autopilot으로 표시됩니다.

클러스터 구성 확인

네임스페이스의 모든 리소스를 보려면 다음 명령어를 실행합니다.

kubectl get all --all-namespaces

클러스터의 포드, 서비스, 배포, DaemonSets와 같은 클러스터의 새 리소스가 표시됩니다.

다음 단계