使用预留
如果您有 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,请执行以下操作:
- 创建实例模板
- 可选:创建工作负载政策
- 创建 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 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。