클러스터 자동 확장


이 페이지에서는 표준 Google Kubernetes Engine(GKE) 클러스터를 자동 확장하는 방법을 설명합니다. 클러스터 자동 확장 처리의 작동 방식을 알아보려면 클러스터 자동 확장 처리를 참조하세요.

Autopilot 클러스터를 사용하면 노드 풀이 노드 자동 프로비저닝을 통해 자동으로 프로비저닝되고 워크로드 요구사항이 충족되도록 자동으로 확장되므로 노드 프로비저닝이나 노드 풀 관리에 신경을 쓰지 않아도 됩니다.

클러스터 자동 확장 처리 사용

다음 섹션에서는 클러스터 자동 확장 처리를 사용하는 방법을 설명합니다.

자동 확장을 사용하는 클러스터 만들기

gcloud

자동 확장을 사용 설정하여 클러스터를 만들려면 --enable-autoscaling 플래그를 사용하고 --min-nodes--max-nodes를 다음 명령어와 같이 지정합니다.

gcloud container clusters create CLUSTER_NAME \
    --enable-autoscaling \
    --num-nodes NUM_NODES \
    --min-nodes MIN_NODES \
    --max-nodes MAX_NODES \
   [--region COMPUTE_REGION | --zone COMPUTE_ZONE]

다음을 바꿉니다.

  • CLUSTER_NAME: 만들 클러스터의 이름입니다.
  • NUM_NODES: 각 위치에서 만들 노드 수입니다.
  • MIN_NODES: 지정된 노드 풀에 대해 자동으로 확장되는 최소 노드 수입니다.
  • MAX_NODES: 지정된 노드 풀에 대해 자동으로 확장되는 최대 노드 수입니다.
  • COMPUTE_REGION: 리전 클러스터를 만드는 경우 클러스터를 만들 리전을 지정합니다.
  • COMPUTE_ZONE: 영역 클러스터를 만드는 경우 클러스터를 만들 영역을 지정합니다.

예시: 노드 자동 확장이 사용 설정된 클러스터 만들기

다음 명령어는 30개의 노드를 사용하여 클러스터를 만듭니다. 노드 자동 확장이 사용 설정되고 클러스터 노드를 기준으로 노드 수를 조절합니다. 클러스터 자동 확장 처리는 기본 노드 풀 크기를 노드 15개로 줄이거나 노드 풀을 노드 최대 50개로 늘릴 수 있습니다.

gcloud container clusters create my-cluster --enable-autoscaling \
    --num-nodes 30 \
    --min-nodes 15 --max-nodes 50 \
    --zone us-central1-c

콘솔

기본 노드 풀에 자동 확장이 사용 설정된 새 클러스터를 만들려면 다음 안내를 따르세요.

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

    Google Kubernetes Engine으로 이동

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

  3. 원하는 대로 클러스터를 구성합니다.

  4. 탐색창의 노드 풀에서 default-pool을 클릭합니다.

  5. 자동 확장 사용 설정 체크박스를 선택합니다.

  6. 최소 노드 수최대 노드 수 필드의 값을 원하는 대로 변경합니다.

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

자동 확장을 사용하는 노드 풀 추가

gcloud

자동 확장을 사용하는 노드 풀을 기존 클러스터에 추가하려면 다음 명령어를 사용합니다.

gcloud container node-pools create POOL_NAME \
    --cluster CLUSTER_NAME \
    --enable-autoscaling \
    --min-nodes MIN_NODES \
    --max-nodes MAX_NODES \
    --zone COMPUTE_ZONE

다음을 바꿉니다.

  • POOL_NAME: 원하는 노드 풀의 이름입니다.
  • CLUSTER_NAME: 노드 풀이 생성되는 클러스터의 이름입니다.
  • MIN_NODES: 지정된 노드 풀에 대해 자동으로 확장되는 최소 노드 수입니다.
  • MAX_NODES: 지정된 노드 풀에 대해 자동으로 확장되는 최대 노드 수입니다.
  • COMPUTE_ZONE: 자동 확장 처리가 새 노드를 만들어야 할 영역입니다.

예시: 노드 자동 확장이 사용 설정된 노드 풀 추가

다음 명령어는 노드 풀이 최대 5개, 최소 1개인 클러스터 부하를 기반으로 노드 자동 확장을 사용하여 이름이 3(기본값)인 노드 풀을 만듭니다.

gcloud container node-pools create my-node-pool \
    --cluster my-cluster \
    --enable-autoscaling \
    --min-nodes 1 --max-nodes 5 \
    --zone us-central1-c

콘솔

자동 확장을 사용하는 노드 풀을 기존 클러스터에 추가하려면 다음 안내를 따르세요.

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 목록에서 수정하려는 클러스터의 이름을 클릭합니다.

  3. 노드 풀 추가를 클릭합니다.

  4. 노드 풀을 원하는 대로 구성합니다.

  5. 크기에서 자동 확장 사용 설정 체크박스를 선택합니다.

  6. 최소 노드 수최대 노드 수 필드의 값을 원하는 대로 변경합니다.

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

기존 노드 풀의 자동 확장 사용 설정

gcloud

기존 노드 풀에 자동 확장을 사용 설정하려면 다음 명령어와 같이 --enable-autoscaling 플래그를 사용합니다.

gcloud container clusters update CLUSTER_NAME \
    --enable-autoscaling \
    --node-pool POOL_NAME \
    --min-nodes MIN_NODES \
    --max-nodes MAX_NODES \
    [--region COMPUTE_REGION | --zone COMPUTE_ZONE]

다음을 바꿉니다.

  • CLUSTER_NAME: 업데이트할 클러스터의 이름입니다.
  • POOL_NAME: 원하는 노드 풀의 이름입니다. 노드 풀이 하나뿐이면 default-pool을 값으로 제공합니다.
  • MIN_NODES: 지정된 노드 풀에 대해 자동으로 확장되는 최소 노드 수입니다.
  • MAX_NODES: 지정된 노드 풀에 대해 자동으로 확장되는 최대 노드 수입니다.
  • COMPUTE_REGION: 리전 클러스터의 경우 클러스터의 리전을 지정합니다.
  • COMPUTE_ZONE: 영역 클러스터의 경우 클러스터의 영역을 지정합니다.

콘솔

기존 노드 풀에 자동 확장을 사용 설정하려면 다음 안내를 따르세요.

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 목록에서 수정하려는 클러스터의 이름을 클릭합니다.

  3. 노드 탭을 클릭합니다.

  4. 노드 풀 아래에서 수정할 노드 풀의 이름을 클릭한 다음 수정을 클릭합니다.

  5. 크기에서 자동 확장 사용 설정 체크박스를 선택합니다.

  6. 최소 노드 수최대 노드 수 필드의 값을 원하는 대로 변경합니다.

  7. 저장을 클릭합니다.

기존 노드 풀의 자동 확장 사용 중지

gcloud

특정 노드 풀의 자동 확장을 사용 중지하려면 다음 명령어와 같이 --no-enable-autoscaling 플래그를 사용합니다.

gcloud container clusters update CLUSTER_NAME \
    --no-enable-autoscaling \
    --node-pool POOL_NAME \
   [--region COMPUTE_REGION | --zone COMPUTE_ZONE]

다음을 바꿉니다.

  • CLUSTER_NAME: 업데이트할 클러스터의 이름입니다.
  • POOL_NAME: 원하는 노드 풀의 이름입니다.
  • COMPUTE_REGION: 리전 클러스터의 경우 클러스터의 리전을 지정합니다.
  • COMPUTE_ZONE: 영역 클러스터의 경우 클러스터의 영역을 지정합니다.

클러스터 크기는 클러스터의 현재 기본 노드 풀 크기로 고정되어 있으며 수동으로 업데이트 가능합니다.

Console

특정 노드 풀의 자동 확장을 사용 중지하려면 다음 안내를 따르세요.

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 목록에서 수정하려는 클러스터의 이름을 클릭합니다.

  3. 노드 탭을 클릭합니다.

  4. 노드 풀 아래에서 수정할 노드 풀의 이름을 클릭한 다음 수정을 클릭합니다.

  5. 크기에서 자동 확장 사용 설정 체크박스의 선택을 취소합니다.

  6. 저장을 클릭합니다.

문제 해결

클러스터 자동 확장 처리와 관련된 다음 문제 해결 정보를 참조하세요.

  • 클러스터 자동 확장 처리 제한사항 중 하나가 발생했을 수 있습니다.
  • 클러스터를 축소하는 데 문제가 있으면 pod 예약 및 중단을 참조하세요. kube-system pod에 PodDisruptionBudget을 추가해야 할 수 있습니다. kube-system pod의 PodDisruptionBudget을 수동으로 추가하는 방법에 대한 상세 설명은 Kubernetes 클러스터 자동 확장 처리 FAQ를 참조하세요.
  • 축소 시에 클러스터 자동 확장 처리는 pod에 설정된 예약 및 축출 규칙을 고려합니다. 이러한 제한에 따라 자동 확장 처리로 노드가 삭제되지 않을 수 있습니다. 다음 조건의 pod가 포함된 경우에는 노드가 삭제되지 않을 수 있습니다.
    • pod의 어피니티 또는 안티어피니티 규칙이 재예약을 방지함
    • pod에 로컬 저장소가 포함됨
    • pod가 배포, StatefulSet, 작업 또는 ReplicaSet와 같은 컨트롤러로 관리되지 않음

클러스터 자동 확장 처리 및 장애 방지에 대한 자세한 내용은 Kubernetes 클러스터 자동 확장 처리 FAQ에서 다음 항목을 참조하세요.

다음 단계