使用预留

如果您有 TPU 预留,则可以使用预留的资源创建与预留属性匹配的 TPU。此操作称为“使用预留”。如需了解如何在使用 Google Kubernetes Engine (GKE) 时使用 TPU 预留,请参阅 GKE 文档中的 TPU 预留

使用预留的方式取决于您创建 TPU 虚拟机的方式。您可以创建 TPU 虚拟机实例或包含 TPU 的 MIG。

在创建 TPU 虚拟机时使用预留

创建 TPU 虚拟机实例时,请使用 --reservation-affinity--reservation 参数指定要使用的预留:

  gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --reservation-affinity=specific \
    --reservation=projects/PROJECT_ID/reservations/RESERVATION_NAME \
    --provisioning-model=reservation-bound \
    --maintenance-policy=TERMINATE

替换以下占位符:

  • TPU_NAME:您的 TPU 虚拟机的名称。
  • MACHINE_TYPE:TPU 虚拟机的机器类型(例如 ct6e-standard-8t)。
  • IMAGE_FAMILY:TPU 虚拟机的操作系统映像系列。如果您想安装特定版本的操作系统,请使用 --image 标志。如需详细了解操作系统映像,请参阅操作系统映像
  • IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为 ubuntu-os-accelerator-images
  • ZONE:TPU 虚拟机的可用区(例如 us-central1-b)。
  • PROJECT_ID:预留所针对的项目的 ID。
  • RESERVATION_NAME:预留的名称,格式为 projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME

在创建 MIG 时使用预留

您可以使用 TPU 虚拟机创建两种类型的 MIG:

  • 具有单主机切片的 MIG。
  • 具有多主机切片的 MIG。

在创建包含单主机切片的 MIG 时使用预留

如需在创建具有单主机切片的 MIG 时使用预留,请在实例模板中指定预留。

如需创建包含单主机切片的 MIG,请执行以下操作:

  1. 创建实例模板
  2. 可选:创建工作负载政策
  3. 创建 MIG

创建使用预留的实例模板

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
     --machine-type=MACHINE_TYPE \
     --maintenance-policy=TERMINATE \
     --instance-termination-action=DELETE \
     --reservation-affinity=specific \
     --provisioning-model=reservation-bound \
     --reservation=RESERVATION_NAME \
     --image-family=IMAGE_FAMILY \
     --image-project=IMAGE_PROJECT

替换以下占位符:

  • INSTANCE_TEMPLATE_NAME:实例模板的名称。
  • MACHINE_TYPE:TPU 虚拟机的机器类型(例如 ct6e-standard-8t)。
  • RESERVATION_NAME:预留的名称,格式为 projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME
  • IMAGE_FAMILY:TPU 虚拟机的操作系统映像系列。如果您想安装特定版本的操作系统,请使用 --image 标志。如需详细了解操作系统映像,请参阅操作系统映像
  • IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为 ubuntu-os-accelerator-images

创建 MIG

您可以创建可用区级 MIG区域级 MIG

创建可用区级 MIG
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

替换以下占位符:

  • MIG_NAME:MIG 的名称。
  • SIZE:MIG 中的 TPU 虚拟机数量。
  • INSTANCE_TEMPLATE_NAME:实例模板的名称。
  • ZONE:您希望 MIG 预配到的可用区。
创建区域级 MIG
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME\
    --region=REGION \
    --target-distribution-shape=any

替换以下占位符:

  • MIG_NAME:MIG 的名称。
  • SIZE:MIG 中的 TPU 虚拟机数量。
  • INSTANCE_TEMPLATE_NAME:实例模板的名称。
  • REGION:您希望 MIG 预配到的可用区。

如需详细了解 --target-distribution-shape 标志,请参阅为区域级 MIG 中的虚拟机设置目标分布形状

在创建包含多主机切片的 MIG 时使用预留

如需在创建具有多宿主切片的 MIG 时使用预留,请在实例模板中指定预留。

创建使用预留的实例模板

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
     --machine-type=MACHINE_TYPE \
     --maintenance-policy=TERMINATE \
     --instance-termination-action=DELETE \
     --reservation-affinity=specific \
     --provisioning-model=reservation-bound \
     --reservation=RESERVATION_NAME \
     --image-family=IMAGE_FAMILY \
     --image-project=IMAGE_PROJECT

替换以下占位符:

  • INSTANCE_TEMPLATE_NAME:实例模板的名称。
  • MACHINE_TYPE:TPU 虚拟机的机器类型(例如 ct6e-standard-8t)。
  • RESERVATION_NAME:预留的名称,格式为 projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME
  • IMAGE_FAMILY:TPU 虚拟机的操作系统映像系列。如果您想安装特定版本的操作系统,请使用 --image 标志。如需详细了解操作系统映像,请参阅操作系统映像
  • IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为 ubuntu-os-accelerator-images

创建工作负载政策

您可以为 MIG 指定工作负载政策。 如需了解详情,请参阅 MIG 的工作负载政策

gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
  --type=high-throughput \
  --accelerator-topology=TOPOLOGY

替换以下占位符:

  • WORKLOAD_POLICY_NAME:工作负载政策的名称。
  • TOPOLOGY:TPU 虚拟机的拓扑,例如 4x4x8。如需详细了解每个 TPU 版本的拓扑,请参阅 TPU 版本

创建 MIG

您可以创建可用区级或区域级 MIG。

创建可用区级 MIG
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --default-action-on-vm-failure=do-nothing \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE \
    --workload-policy=WORKLOAD_POLICY_URL

替换以下占位符:

  • MIG_NAME:MIG 的名称。
  • SIZE:MIG 中的 TPU 虚拟机数量。
  • INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建实例的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:
    • 对于区域级实例模板:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 对于全球实例模板:INSTANCE_TEMPLATE_ID
  • ZONE:您希望 MIG 预配到的可用区。
  • WORKLOAD_POLICY_URL:您要用于在 MIG 中创建实例的工作负载政策的网址。例如:projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME
创建区域级 MIG
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --default-action-on-vm-failure=do-nothing \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE \
    --target-distribution-shape=any-single-zone \
    --instance-redistribution-type=none \
    --workload-policy=WORKLOAD_POLICY_URL

替换以下占位符:

  • MIG_NAME:MIG 的名称。
  • SIZE:MIG 中的 TPU 虚拟机数量。
  • INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建实例的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:
    • 对于区域级实例模板:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 对于全球实例模板:INSTANCE_TEMPLATE_ID
  • ZONE:您希望 MIG 预配到的可用区。
  • WORKLOAD_POLICY_URL:您要用于在 MIG 中创建实例的工作负载政策的网址。例如:projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME

查看预留使用情况

您只能从共享预留的所有者项目查看其使用情况。如果您位于使用方项目中,则必须切换到所有者项目才能查看预留使用情况。

如需查看预留的使用情况,请使用 gcloud compute reservations describe 命令

gcloud compute reservations describe RESERVATION_NAME \
    --project=PROJECT_ID --zone=ZONE

替换以下占位符变量:

  • RESERVATION_NAME:预留的名称。
  • PROJECT_ID:包含预留的项目的 ID。
  • ZONE:预留所在的可用区。

如需列出项目中的所有预留,请使用 gcloud compute reservations list 命令

gcloud compute reservations list --project=PROJECT_ID

替换以下占位符变量:

  • PROJECT_ID:项目的 ID。

后续步骤