选择满足最低要求的 CPU 平台


本页面介绍如何创建带有满足最低要求的基准 CPU 平台的集群节点池

概览

创建集群或节点池时,您可以为其节点选择满足最低要求的基准 CPU 平台。

图形、游戏和分析行业的某些高级计算密集型工作负载可利用通过不同 CPU 平台功能集提供的特定功能,如 AVX-2 和 AVX-512。选择特定的 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 文档中的为虚拟机实例指定满足最低要求的 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”

控制台

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击 创建

  3. 根据需要配置集群。

  4. 在导航窗格中您要修改的节点池下,点击节点

  5. 系列下拉列表中,选择机器类型系列

  6. 机器类型下拉列表中,选择自定义

  7. 根据需要选择核心内存

  8. 点击 CPU 平台和 GPU

  9. CPU 平台下拉列表中,选择所需的平台。

  10. 点击创建

API

minCpuPlatform 属性作为 nodeConfig 字段的一部分添加到请求正文中。minCpuPlatform 的值必须是易记的平台名称,例如 Intel HaswellIntel BroadwellIntel 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”

控制台

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面:

    转到 Google Kubernetes Engine

  2. 在集群列表中,点击您要修改的集群的名称。

  3. 点击 添加节点池

  4. 根据需要配置节点池。

  5. 在导航窗格中,点击节点

  6. 机器配置下,执行以下操作:

  7. 系列下拉列表中,选择机器类型系列

  8. 机器类型下拉列表中,选择自定义

  9. 根据需要选择核心内存

  10. 点击 CPU 平台和 GPU

  11. CPU 平台下拉列表中,选择所需的平台。

  12. 点击创建

API

minCpuPlatform 属性作为 nodeConfig 字段的一部分添加到请求正文中。minCpuPlatform 的值必须是易记的平台名称,例如 Intel HaswellIntel BroadwellIntel 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] 是集群的名称

后续步骤