关于使用快速启动节点更快地启动工作负载

本页面介绍如何使用快速启动节点在 Google Kubernetes Engine (GKE) 集群中更快地部署和扩缩工作负载。当工作负载使用兼容的配置时,Autopilot 模式下的 GKE 会尽最大努力使用快速启动节点。

对于兼容的机器系列,快速启动 GKE 节点的启动时间会显著缩短。加快启动速度可为您带来以下好处:

  • 加快冷启动速度
  • 更快的自动扩缩
  • 缩短 Pod 调度长尾延迟时间
  • 提高基础设施成本效益

使用快速启动节点时,GKE 会预初始化硬件资源,以缩短启动时间,并尽最大努力提供预初始化的资源。当请求激增时,可能只有部分能获得响应。如果不使用快速启动节点,资源会按需初始化,并且节点会按正常启动时间响应。

要求

快速启动节点无需进行其他配置。如果您的工作负载使用兼容的配置,GKE 会自动使用快速启动节点。您必须满足以下所有要求才能使用快速启动节点:

限制

以下功能与快速启动的 GKE 节点不兼容。如果您使用以下任何功能,GKE 会预配具有常规启动时间的节点:

Autopilot GPU 工作负载

与 GKE Standard 模式下的类似请求相比,在 Autopilot 模式下请求兼容的 GPU 可使节点启动速度提高至 4 倍,Pod 调度速度提高至 2 倍,因为 Autopilot GPU 工作负载可以使用快速启动节点。

以下是一些示例应用场景。不过,任何满足要求部分中条件的 Pod 都与快速启动节点兼容。

ComputeClass

在 ComputeClass 中请求兼容的加速器类型和数量,如以下示例所示:

apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
  name: ACCELERATOR_COMPUTE_CLASS_NAME
spec:
  priorities:
  - gpu:
      type: ACCELERATOR_TYPE
      count: ACCELERATOR_COUNT
  nodePoolAutoCreation:
    enabled: true

当您在 Pod 中选择此 ComputeClass 时(如以下示例所示),GKE 会使用快速启动节点:

apiVersion: v1
kind: Pod
metadata:
  name: POD_NAME
spec:
  nodeSelector:
    # Select a ComputeClass that requests compatible GPUs
    cloud.google.com/compute-class: ACCELERATOR_COMPUTE_CLASS_NAME
  containers:
  - name: my-container
    image: gcr.io/google_containers/pause
    resources:
      limits:
        nvidia.com/gpu: ACCELERATOR_COUNT

替换以下值:

  • ACCELERATOR_COMPUTE_CLASS_NAME:请求加速器的 ComputeClass 的名称。
  • ACCELERATOR_TYPE:加速器类型。
  • ACCELERATOR_COUNT:Pod 所需的加速器数量。此值必须小于或等于 ComputeClass 中 spec.priorities.gpu.count 字段的值。
  • POD_NAME:您的 pod 的名称。

如需详细了解 ComputeClass,请参阅自定义计算类简介

Pod 规范

在 Pod 规范中选择兼容的加速器类型和数量,如以下示例所示:

apiVersion: v1
kind: Pod
metadata:
  name: POD_NAME
spec:
  nodeSelector:
    cloud.google.com/gke-accelerator: ACCELERATOR_NAME
  containers:
  - name: my-container
    image: gcr.io/google_containers/pause
    resources:
      limits:
        nvidia.com/gpu: ACCELERATOR_COUNT

替换以下值:

  • POD_NAME:您的 pod 的名称。
  • ACCELERATOR_NAME:Pod 所需的加速器的名称。
  • ACCELERATOR_COUNT:Pod 所需的加速器数量。

符合条件的计算资源的配置要求

以下各部分中的表格列出了 GKE 将相关计算资源预配为快速启动节点的具体要求。

Autopilot 容器优化型计算平台

请参阅下文,了解 GKE 在 Autopilot 容器优化型计算平台上预配快速启动节点的要求。

计算资源 发布渠道和版本支持 支持的机器类型、启动磁盘类型及大小
Autopilot 容器优化型计算平台
  • 快速渠道
  • 1.33.0-gke.1696000 或更高版本
  • pd-balanced 磁盘(最多 100 GiB)
  • 本地 SSD

G2 机器系列

请参阅下文,了解 GKE 将 G2 机器预配为快速启动节点的要求。

计算资源 发布渠道和版本支持 支持的机器类型、启动磁盘类型及大小
G2 机器系列
  • 快速和常规渠道
  • 1.31 或更高版本
  • pd-balanced 磁盘(最多 500 GiB)
  • 本地 SSD

A2 机器系列

请参阅下文,了解 GKE 将 A2 机器预配为快速启动节点的要求。A2 机器系列适用于运行 GKE 1.32.0-gke.1008000 版或更高版本且已在快速或常规渠道中注册的集群。

计算资源 区域 支持的机器类型、启动磁盘类型及大小
a2-highgpu-1g
  • asia-northeast1
  • asia-southeast1
  • europe-west4
  • me-west1
  • us-central1
  • us-west1
  • us-west4
  • 高达 1,000 GiB 的 pd-balancedpd-ssd
  • 本地 SSD
a2-highgpu-2g
  • asia-southeast1
  • us-central1
  • us-west1
  • 高达 1,000 GiB 的 pd-balancedpd-ssd
  • 本地 SSD
a2-megagpu-16g
  • asia-southeast1
  • europe-west4
  • us-central1
  • 高达 1,000 GiB 的 pd-balancedpd-ssd
  • 本地 SSD
a2-ultragpu-1g
  • asia-southeast1
  • europe-west4
  • us-central1
  • 高达 1,000 GiB 的 pd-balancedpd-ssd
  • 包含 1 个 375 GiB 的本地 SSD
a2-ultragpu-2g
  • asia-southeast1
  • europe-west4
  • us-central1
  • 高达 1,000 GiB 的 pd-balancedpd-ssd
  • 包含 2 个本地 SSD,每个容量为 375 GiB。
a2-ultragpu-4g
  • asia-southeast1
  • europe-west4
  • us-central1
  • 1,500 GiB 的 pd-balancedpd-ssd
  • 包含 4 个本地 SSD,每个容量为 375 GiB。
a2-ultragpu-8g
  • asia-southeast1
  • europe-west4
  • us-central1
  • 3,000 GiB 的 pd-balancedpd-ssd
  • 包含 8 个本地 SSD,每个容量为 375 GiB。

价格

GKE Autopilot 中免费提供快速启动节点。如需详细了解 GKE Autopilot 价格,请参阅 Google Kubernetes Engine 价格中的“Autopilot 模式”部分。

后续步骤