노드 그룹 자동 확장


워크로드에 단독 테넌트 노드를 사용하는 경우 노드 그룹 자동 확장 처리를 사용하여 노드 그룹 크기를 자동으로 관리할 수 있습니다. 노드 그룹을 만드는 동안이나 만든 후에 자동 확장을 구성할 수 있습니다.

자동 확장 처리를 사용하면 다음 방법을 통해 단독 테넌트 노드 그룹 크기를 자동으로 관리할 수 있습니다.

  • 노드 그룹의 다른 가상 머신(VM) 인스턴스에 용량이 부족할 때 해당 노드 그룹의 크기를 늘립니다. 자동 확장 처리가 노드 그룹의 크기를 늘리면 VM이 투명하게 예약됩니다.

  • 빈 노드가 있을 때 노드 그룹의 크기를 줄여 사용하지 않는 단독 테넌트 노드에 대한 비용 청구를 방지합니다.

노드 그룹을 확장하는 동안 자동 확장 처리는 예약되는 VM에 필요한 용량, 타겟팅하는 노드의 여유 용량, 노드 그룹의 자동 확장 정책을 고려합니다. 필요한 용량은 VM의 크기에만 따라 달라집니다. 사용 가능한 용량은 노드 크기, 노드에 이미 예약된 VM, 선택적 CPU 오버커밋 비율을 기준으로 추정됩니다.

다음 다이어그램을 참조하세요.

  1. 노드 그룹 자동 확장 처리는 빈 노드가 없는 노드 그룹에 VM 배포에 대한 응답으로 새 노드를 노드 그룹에 추가하여 노드 그룹을 수평 확장합니다.

  2. 노드 그룹 자동 확장 처리는 단독 테넌트 노드 그룹에서 빈 노드를 삭제하여 노드 그룹을 확장합니다.

노드 그룹 크기를 관리하는 노드 그룹 자동 확장 처리입니다.

자동 확장 처리 모드

기본적으로 노드 그룹에는 자동 확장 처리가 사용 설정되어 있지 않습니다. 자동 확장 처리가 사용 설정되지 않은 경우 노드 그룹의 크기를 수동으로 관리해야 합니다. 노드 그룹에 자동 확장 처리를 사용 설정하면 자동 확장 처리에서 노드 그룹의 크기를 늘리고 줄이거나(수평 확장 및 축소) 그룹 크기만 늘리도록 지정할 수 있습니다.

수평 확장 및 축소

이 모드에서 노드 그룹 자동 확장 처리는 노드 그룹의 크기를 늘리고(수평 확장) 줄입니다(축소). 이 모드에서는 노드 그룹의 최대 크기와 최소 크기를 지정해야 합니다. 자동 확장 처리는 지정된 최댓값 이상이나 지정된 최솟값 이하로 노드 그룹 크기를 조정하지 않습니다.

용량 부족으로 인해 VM 예약이 실패하면 수평 확장이 트리거됩니다. 이 문제를 해결하기 위해 새 노드를 그룹에 추가하고 작업을 다시 시도합니다.

노드가 일정 시간 동안 비어 있으면 확장이 트리거됩니다. 빈 노드는 VM이 삭제되거나 노드 그룹 외부로 이전된 결과입니다. 노드 그룹의 자동 확장 정책에서 허용하는 경우 빈 노드는 안정화 기간이 지난 후 삭제되도록 예약됩니다. 안정화 기간을 사용하면 노드가 필요할 때 계속 사용할 수 있습니다.

수평 확장만

이 모드를 사용하면 자동 확장 처리가 VM 예약 요청에 대한 응답으로 노드 그룹의 크기를 늘리지만 빈 노드를 노드 그룹에서 삭제하지는 않습니다. 단조 증가하는 워크로드 또는 동일한 물리적 서버에 상주하기 위해 라이선스가 필요한 BYOL 워크로드와 같이 물리적 서버 어피니티가 필요한 워크로드에는 이 모드를 사용하는 것이 좋습니다.

노드 그룹이 노드 그룹 내 마이그레이션 유지보수 정책으로 구성된 경우 이 모드를 사용해야 합니다.

노드 그룹의 크기 범위

자동 확장 처리를 사용 설정할 때 노드 그룹 크기의 최솟값과 최댓값을 지정하여 노드 그룹의 크기 범위를 설정합니다.

최소 크기 값을 지정하지 않으면 자동 확장 처리에서 최소 크기를 0으로 설정합니다. 최소 크기 값을 지정하는 경우 0 이상의 정수여야 하고, 최대 크기 이하여야 합니다.

노드 그룹의 최대 크기 값을 지정해야 합니다. 이 값은 0 이상 100(단독 테넌트 노드 그룹의 최대 허용 크기) 이하의 정수여야 하며, 지정된 최솟값 이상이어야 합니다.

노드 그룹의 최대 크기인 100을 초과할 수 있는 워크로드를 수용하려면 일치하는 어피니티 라벨(예: workload:in:my-autoscaled-node-groups)로 여러 노드 그룹을 만듭니다. 그런 다음 해당 어피니티 라벨을 사용하여 VM을 예약하고 각 그룹에서 자동 확장을 사용 설정하여 노드 그룹의 동적 확장 그룹을 만듭니다.

가용성

단독 테넌트 노드를 지원하는 리전에서만 단독 테넌트 노드 자동 확장 처리를 사용할 수 있습니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.

노드 그룹 자동 확장 처리 사용 설정

새 노드 그룹에서 자동 확장을 구성합니다.

gcloud

아래 예시는 노드 그룹을 만들 때 node-groups create 명령어를 사용하여 자동 확장 처리를 사용 설정하는 방법을 보여줍니다. 기존 노드 그룹에 자동 확장 처리를 추가하려면 node-groups update 명령어를 사용합니다.

gcloud compute sole-tenancy node-groups create group-name \
    --node-template template-name \
    --target-size size \
    --maintenance-policy maintenance-policy \
    --zone zone \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

다음을 바꿉니다.

  • group-name: 만들려는 노드 그룹의 이름입니다.
  • template-name: 노드 그룹을 만들 노드 템플릿의 이름입니다.
  • size: 노드 그룹의 대상 초기 노드 수입니다.
  • maintenance-policy: VM을 마이그레이션하는지 여부와 호스트 유지보수 이벤트 중에 VM이 다시 시작되는지 여부를 지정합니다. 다음 값 중 하나로 설정합니다.
    • default: VM이 새 노드로 라이브 마이그레이션됩니다.
    • migrate-within-node-group: VM이 노드 그룹의 다른 노드로 라이브 마이그레이션됩니다.
    • restart-in-place: 유지보수 이벤트로 인해 VM이 종료된 후 동일한 노드에서 다시 시작됩니다.
  • zone: 노드 그룹을 만들 영역입니다.
  • mode: 이 노드 그룹의 자동 확장 처리 모드입니다. 다음 값 중 하나로 설정합니다.
    • off: 자동 확장 처리를 사용 중지합니다.
    • on: 축소 및 수평 확장을 사용 설정합니다.
    • only-scale-out: 수평 확장만 사용 설정합니다. 최소한의 서버에서 호스팅된 VM을 다시 시작하도록 노드 그룹이 구성된 경우 이 모드를 사용해야 합니다.
  • max-nodes: 노드 그룹의 최대 크기입니다. 100 이하 및 min-nodes 이상으로 설정합니다.
  • min-nodes: 노드 그룹의 최소 크기로 max-nodes 이하의 정수 값이어야 합니다. 기본값은 0입니다.

REST

다음 예시에서는 노드 그룹을 만들 때 nodeGroups.insert 명령어를 사용하여 자동 확장 처리를 사용 설정하는 방법을 보여줍니다. 기존 노드 그룹에 자동 확장 처리를 추가하려면 nodeGroups.patch 명령어를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/nodeGroups?initialNodeCount=initial-node-count

  {
    "name": "group-name",
    "nodeTemplate": "template-name",
    "autoscalingPolicy": {
      "mode": "mode",
      "min_nodes": min-nodes,
      "max_nodes": max-nodes
    }
    "maintenancePolicy": maintenance-policy
  }

다음을 바꿉니다.

  • project-id: 자동 확장 처리를 사용하여 노드 그룹을 추가할 프로젝트의 ID입니다.
  • zone: 새 노드 그룹을 만들 영역입니다.
  • initial-node-count: 노드 그룹을 만들 때 필요합니다. 노드 그룹의 초기 노드 수를 지정합니다. min-nodes 값이 초기 노드 수보다 크면 노드 그룹의 크기가 min-nodes 값으로 수평 확장됩니다.
  • group-name: 새 노드 그룹의 이름입니다.
  • template-name: 노드 그룹을 만들 노드 템플릿의 이름입니다.
  • mode: 이 노드 그룹의 자동 확장 처리 모드입니다. 다음 중 하나로 설정합니다.
    • OFF: 자동 확장 처리를 사용 중지합니다.
    • ON: 축소 및 수평 확장을 사용 설정합니다.
    • ONLY_SCALE_OUT: 수평 확장만 사용 설정합니다. 최소한의 서버에서 호스팅된 VM을 다시 시작하도록 노드 그룹이 구성된 경우 이 모드를 사용해야 합니다.
  • max-nodes: 노드 그룹의 최대 크기입니다. 100 이하 및 min-nodes 이상으로 설정합니다.
  • min-nodes: 노드 그룹의 최소 크기로 max-nodes 이하의 정수 값이어야 합니다. 기본값은 0입니다.
  • maintenance-policy: VM을 마이그레이션하는지 여부와 호스트 유지보수 이벤트 중에 VM이 다시 시작되는지 여부를 지정합니다. 다음 값 중 하나로 설정합니다.
    • DEFAULT: VM이 새 노드로 라이브 마이그레이션됩니다.
    • MIGRATE_WITHIN_NODE_GROUP: VM이 노드 그룹의 다른 노드로 라이브 마이그레이션됩니다.
    • RESTART_IN_PLACE: 유지보수 이벤트로 인해 VM이 종료된 후 동일한 노드에서 다시 시작됩니다.

자동 확장 처리 설정 업데이트

자동 확장 처리 모드를 업데이트하거나 노드 그룹의 최소 및 최대 크기를 업데이트하여 노드 그룹의 자동 확장 처리 설정을 변경합니다.

gcloud

다음 예시에서는 node-groups update 명령어를 사용하여 노드 그룹에서 자동 확장 처리 모드를 변경하는 방법을 보여줍니다.

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

다음을 바꿉니다.

  • name: 자동 확장 처리 모드를 변경할 노드 그룹의 이름입니다.
  • mode: 이 노드 그룹의 자동 확장 처리 모드입니다. 다음 중 하나로 설정합니다.
    • off: 자동 확장 처리를 사용 중지합니다.
    • on: 축소 및 수평 확장을 사용 설정합니다.
    • only-scale-out: 수평 확장만 사용 설정합니다. 최소한의 서버에서 호스팅된 VM을 다시 시작하도록 노드 그룹이 구성된 경우 이 모드를 사용해야 합니다.
  • max-nodes: 노드 그룹의 최대 크기입니다. 100 이하 및 min-nodes 이상으로 설정합니다.
  • min-nodes: 노드 그룹의 최소 크기로 max-nodes 이하의 정수 값이어야 합니다. 기본값은 0입니다.

REST

다음 예시에서는 nodeGroups.patch 명령어를 사용하여 노드 그룹에서 자동 확장 처리 모드를 변경하는 방법을 보여줍니다.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode",
    "minSize": min-nodes,
    "maxSize": max-nodes
  }
}

다음을 바꿉니다.

  • project-id: 자동 확장 처리 모드를 변경할 노드 그룹이 포함된 프로젝트의 ID입니다.
  • group-zone: 자동 확장 처리 모드를 변경할 노드 그룹이 포함된 영역입니다.
  • group-name: 자동 확장 처리 모드를 변경할 노드 그룹의 이름입니다.
  • template-name: 노드 그룹이 생성된 노드 템플릿의 이름입니다.
  • mode: 이 노드 그룹의 자동 확장 처리 모드입니다. 다음 중 하나로 설정합니다.

    • OFF: 자동 확장 처리를 사용 중지합니다.
    • ON: 축소 및 수평 확장을 사용 설정합니다.

    • ONLY_SCALE_OUT: 수평 확장만 사용 설정합니다. 노드 그룹이 노드 그룹 내 마이그레이션 유지보수 정책으로 구성된 경우 이 모드를 사용해야 합니다.

  • max-nodes: 노드 그룹의 최대 크기입니다. 100 이하 및 min-nodes 이상으로 설정합니다.

  • min-nodes: 노드 그룹의 최소 크기로 max-nodes 이하의 정수 값이어야 합니다. 기본값은 0입니다.

자동 확장된 노드 그룹 크기 수동 업데이트

자동 확장 처리가 사용 설정되면 노드 그룹 크기가 자동으로 관리되지만 해당 노드 그룹에서 VM을 예약하거나 삭제하여 그룹 크기를 효과적으로 수동 업데이트할 수 있습니다.

자동 확장된 노드 그룹의 크기를 수동으로 줄이려면 노드가 빌 때까지 노드에서 VM을 삭제합니다. 노드가 비어 있으면 자동 확장 처리가 빈 노드를 제거하여 노드 그룹의 크기를 줄입니다.

자동 확장된 노드 그룹의 크기를 수동으로 늘리려면 그룹의 최소 크기를 현재 크기보다 큰 값으로 설정합니다. 그룹의 최소 크기가 현재 크기보다 큰 값으로 설정되면 자동 확장 처리가 그룹 크기를 새로 지정된 최소 크기로 확장합니다.

노드 그룹이 수평 확장만으로 설정된 경우 자동 확장 처리는 자동으로 그룹 크기 증가를 관리하고 수동 그룹 크기 증가를 사용 중지합니다. 이 설정을 사용하면 노드가 빌 때까지 노드에서 VM을 삭제한 후 빈 노드를 삭제할 수 있습니다.

자동 확장 처리 사용 중지

더 이상 자동 확장 처리를 사용하여 노드 그룹의 크기를 자동으로 관리할 필요가 없거나 노드 그룹의 크기를 직접 관리해야 하는 경우 자동 확장 처리를 사용 중지합니다.

gcloud

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode OFF

name을 자동 확장 정책을 삭제할 노드 그룹의 이름으로 바꿉니다.

REST

다음 예시에서는 nodeGroups.patch 명령어를 사용하여 노드 그룹에서 자동 확장 처리를 사용 중지하는 방법을 보여줍니다.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode"
  }
}

다음을 바꿉니다.

  • project-id: 자동 확장 처리 모드를 변경할 노드 그룹이 포함된 프로젝트의 ID입니다.
  • group-zone: 자동 확장 처리 모드를 변경할 노드 그룹이 포함된 영역입니다.
  • group-name: 자동 확장 처리 모드를 변경할 노드 그룹의 이름입니다.
  • template-name: 노드 그룹이 생성된 노드 템플릿의 이름입니다.
  • mode: 이 노드 그룹의 자동 확장 처리 모드입니다. 이 노드 그룹에서 자동 확장 처리를 사용 중지하려면 OFF로 설정합니다.

자동 확장 처리 활동 보기

Google Cloud Console에서 노드 그룹의 크기를 조정하는 자동 확장 처리를 확인합니다. Google Cloud 콘솔에는 현재 노드 그룹 크기가 표시되며 자동 확장 처리에서 그룹 크기를 조정하고 있으면 노드 그룹 대상 크기도 확인할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 단독 테넌트 노드 페이지로 이동합니다.

    단독 테넌트 노드로 이동

  2. 노드 그룹을 클릭합니다.

  3. 각 노드 그룹의 노드 수를 보고, Compute Engine이 노드 그룹을 확장 중인 경우 대상 노드 수도 확인할 수 있습니다.

다음 단계