최소 CPU 플랫폼 선택

이 페이지에서는 기본 최소 CPU 플랫폼을 사용하는 클러스터 또는 노드 풀을 만드는 방법을 보여줍니다.

개요

클러스터 또는 노드 풀을 만들 때는 해당 노드에 기본 최소 CPU 플랫폼을 선택할 수 있습니다.

그래픽, 게임, 애널리틱스 산업 부문의 일부 고급 컴퓨팅 집중 작업 부하는 AVX-2 및 AVX-512와 같은 여러 CPU 플랫폼 기능 집합을 통해 제공되는 특정 기능을 활용할 수 있습니다. 특정 CPU 플랫폼을 선택하면 실행 시간 및 성능에 있어서 상당한 이점을 얻을 수 있습니다. 최소 CPU 플랫폼을 지정함으로써 작업 부하가 보다 예측 가능한 방식으로 이러한 이점을 실현하고, 노드에 해당 작업 부하에 적합하지 않은 CPU 플랫폼이 사용되지 않도록 보장할 수 있습니다.

최소 CPU 플랫폼 선택 관련 정보

최소 CPU 플랫폼을 선택할 경우 Google Kubernetes Engine은 가능한 모든 경우에 최소 CPU 플랫폼을 사용해서 클러스터 또는 노드 풀을 만들려고 시도합니다.

일부 경우에는 이러한 시도가 불가능할 수 있습니다. 예를 들면 다음과 같습니다.

  • 최소 CPU 플랫폼이 영역의 기본 플랫폼보다 오래되었거나 CPU 플랫폼을 더 이상 사용할 수 없고 동일 비용으로 새로운 CPU 플랫폼을 사용할 수 있는 경우, GKE는 새로운 플랫폼을 사용해서 클러스터 또는 노드 풀을 만듭니다.
  • 지정한 플랫폼을 사용할 수 없고 새로운 또는 동일한 가격의 동등한 플랫폼이 없는 경우, 클러스터 또는 노드 만들기가 실패합니다.

개발자가 지정한 최소 CPU 플랫폼보다 오래된 플랫폼은 노드에 사용되지 않으며, GKE가 새 플랫폼을 선택할 경우 노드 비용이 변경되지 않습니다.

지정된 CPU 플랫폼이 폐기되어 노드가 새 플랫폼에서 실행되지 않는 한 노드의 수명 주기 동안 동일 플랫폼이 유지됩니다.

제한사항

  • CPU 플랫폼의 가용성은 영역마다 다릅니다.
  • 최소 CPU 플랫폼은 g1-small과 같은 공유 코어 머신 유형과 함께 사용할 수 없습니다.

가용성

원하는 컴퓨팅 영역에서 사용 가능한 CPU 플랫폼을 보려면 다음 명령어를 실행하세요.

gcloud compute zones describe [COMPUTE_ZONE]

[COMPUTE_ZONE]에는 원하는 컴퓨팅 영역을 지정합니다.

이 명령어는 영역의 사용 가능한 플랫폼 목록을 반환합니다. 예를 들면 다음과 같습니다.

availableCpuPlatforms:
- Intel Skylake
- Intel Broadwell

자세한 내용은 Compute Engine 문서의 VM 인스턴스의 최소 CPU 플랫폼 지정을 참조하세요.

가격 책정

이 기능은 추가 비용이 없습니다.

최소 CPU 플랫폼으로 새 클러스터 만들기

gcloud 명령줄 도구, Google Cloud Console 또는 GKE API를 사용하여 최소 CPU 플랫폼으로 클러스터를 만들 수 있습니다.

gcloud

gcloud 명령줄 도구에서 최소 CPU 플랫폼을 사용하는 새 클러스터를 만들려면 --min-cpu-platform 플래그를 설정하고 사용자 친화적인 CPU 플랫폼 이름을 지정합니다.

gcloud container clusters create [CLUSTER_NAME] --zone [COMPUTE_ZONE] \
--min-cpu-platform [PLATFORM_NAME]

각 항목의 의미는 다음과 같습니다.

  • [CLUSTER_NAME]은 선택한 클러스터 이름입니다.
  • [COMPUTE_ZONE]은 클러스터의 컴퓨팅 영역입니다.
  • [PLATFORM_NAME]은 클러스터에서 실행하려는 CPU 플랫폼입니다.

예를 들어 다음 명령어는 Intel Broadwell 플랫폼을 사용하는 example-cluster라는 클러스터를 만듭니다.

gcloud container clusters create example-cluster --zone us-central1-a \
--min-cpu-platform “Intel Broadwell”

Console

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

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 만들기를 클릭합니다.

  3. 표준 클러스터 템플릿을 선택하거나 워크로드에 적합한 템플릿을 선택합니다.

  4. 원하는 대로 클러스터를 구성합니다. 그런 후 머신 유형 메뉴에서 맞춤설정을 클릭합니다.

  5. CPU 플랫폼 드롭다운 메뉴에서 원하는 플랫폼을 선택합니다.

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

API

요청 본문에서 nodeConfig 필드의 일부로 minCpuPlatform 속성을 포함합니다. minCpuPlatform의 값은 플랫폼의 친숙한 이름이어야 합니다(예: Intel Haswell, Intel Broadwell, Intel Sandy Bridge).

예를 들어 Intel Broadwell을 실행하는 클러스터를 만드는 데 사용되는 요청 본문은 다음과 같을 수 있습니다.

POST https://container.googleapis.com/v1/projects/[PROJECT_ID]/zones/[COMPUTE_ZONE]/clusters

{
  'cluster': {
    'name': '[CLUSTER_NAME]',
    'nodeConfig': {
      'minCpuPlatform': 'Intel Broadwell'
      ...
    }
    ...
  }
}

각 항목의 의미는 다음과 같습니다.

  • [PROJECT_ID]는 프로젝트 ID입니다.
  • [COMPUTE_ZONE]은 원하는 컴퓨팅 영역입니다.
  • [CLUSTER_NAME]은 선택한 클러스터 이름입니다.

새 노드 풀의 최소 CPU 플랫폼 선택

gcloud 명령줄 도구, Cloud Console 또는 GKE API를 사용하여 기존 클러스터의 새 노드 풀에 최소 CPU 플랫폼을 지정할 수 있습니다.

gcloud

gcloud 명령줄 도구에서 최소 CPU 플랫폼을 사용하는 새 노드 풀을 만들려면 --min-cpu-platform 플래그를 설정하고 친숙한 CPU 플랫폼 이름을 지정합니다.

gcloud container node-pools create [POOL_NAME] --cluster [CLUSTER_NAME] \
--zone [COMPUTE_ZONE] --min-cpu-platform [PLATFORM_NAME]

각 항목의 의미는 다음과 같습니다.

  • [POOL_NAME]은 선택한 노드 풀 이름입니다.
  • [CLUSTER_NAME]은 노드 풀이 생성되는 클러스터의 이름입니다.
  • [COMPUTE_ZONE]은 클러스터의 컴퓨팅 영역입니다.
  • [PLATFORM_NAME]은 노드 풀에서 실행하려는 CPU 플랫폼입니다.

예를 들어 다음 명령어는 Intel Broadwell 플랫폼을 사용하는 example-node-pool이라는 노드 풀을 만듭니다.

gcloud container node-pools create example-node-pool --cluster example-cluster \
--zone us-central1-a --min-cpu-platform “Intel Broadwell”

Console

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

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터의 수정 버튼(연필 모양)을 클릭합니다.

  3. 노드 풀 섹션에서 노드 풀 추가를 클릭합니다.

  4. 노드 풀을 원하는 대로 구성합니다. 그런 후 머신 유형 메뉴에서 맞춤설정을 클릭합니다.

  5. CPU 플랫폼 드롭다운 메뉴에서 원하는 플랫폼을 선택합니다.

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

API

요청 본문에서 nodeConfig 필드의 일부로 minCpuPlatform 속성을 포함합니다. minCpuPlatform의 값은 플랫폼의 친숙한 이름이어야 합니다(예: Intel Haswell, Intel Broadwell, Intel Sandy Bridge).

예를 들어 Intel Broadwell을 실행하는 클러스터의 요청 본문은 다음과 같을 수 있습니다.

POST https://container.googleapis.com/v1/projects/[PROJECT_ID]/zones/[COMPUTE_ZONE]/clusters/[CLUSTER_NAME]/nodePools

{
  'nodePool': {
    'name': '[NODE_POOL]',
    'nodeConfig': {
      'minCpuPlatform': 'Intel Broadwell'
      ...
    }
    ...
  }
}

각 항목의 의미는 다음과 같습니다.

  • [PROJECT_ID]는 GCP 프로젝트 ID입니다.
  • [COMPUTE_ZONE]은 원하는 컴퓨팅 영역입니다.
  • [CLUSTER_NAME]은 클러스터의 이름입니다.

다음 단계