使用共享 VPC 且具有 Cloud TPU 的 GKE 集群
本指南介绍如何完成以下任务:
- 使用共享 VPC 网络设置 Cloud TPU GKE 集群。
- 设置所需的 API 和 IP 范围,以确保集群、共享 VPC 和 Google 代管式服务之间的通信。
- 为集群 Pod 和服务创建次要 CIDR 范围。
准备工作
概念
本指南中经常使用以下概念:
宿主项目:包含一个或多个共享 VPC 网络的项目。在本指南中,此项目将包含您的共享 VPC。
服务项目:由共享 VPC 管理员连接到宿主项目的项目。此连接可让其参与共享 VPC。在本指南中,此项目将包含您的 Cloud TPU 集群。
使用要求
启用 API
在 Google Cloud Console 上为您的宿主项目启用以下 API:
在 Google Cloud Console 上为您的服务项目启用以下 API:
设置 VPC 到 Google 代管式服务的 IP 范围
请按照以下步骤在宿主项目的共享 VPC 网络中预留 IP 范围。此 VPC 网络中的所有 Google 代管式服务都将使用该范围。Cloud TPU 是 Google 的代管式服务之一。
列出共享 VPC 网络中的现有 IP 范围。
$ gcloud beta compute networks list-ip-addresses network \ --project=host-project-id
选择一个可用的范围,并将其保留在共享 VPC 网络中。
$ gcloud beta compute addresses create peering-name \ --global \ --prefix-length=16 \ --network=network \ --purpose=VPC_PEERING \ --project=host-project-id
peering-name 指定 VPC 对等互连连接的名称。该名称将在下一步中使用。
在宿主项目和 Google 代管式服务之间创建 VPC 网络对等互连连接。
$ gcloud beta services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --network=network \ --ranges=peering-name \ --project=host-project-id
为集群创建次要 IP 范围
在共享 VPC 网络中,选择或创建子网并为集群 Pod 和服务添加两个次要 CIDR 范围。
这些范围分别对应于集群的 pod 和服务。范围名称将在后续步骤中使用。
subnet 将是宿主项目的网络 network 中的子网。
tier-1-name 是 subnet 中 GKE Pod 使用的次要范围的名称。
tier-2-name 将是 GKE 服务在 subnet 中使用的次要范围的名称。
使用 Cloud TPU 创建 GKE 集群
以下命令显示了如何使用共享 VPC 网络中的现有 CIDR 范围创建 GKE,从而启用 Cloud TPU:
$ gcloud beta container clusters create cluster-name \
--enable-ip-alias \
--network projects/host-project-id/global/networks/network \
--subnetwork projects/host-project-id/regions/region/subnetworks/subnet \
--cluster-secondary-range-name tier-1-name \
--services-secondary-range-name tier-2-name \
--scopes=cloud-platform \
--enable-tpu \
--enable-tpu-service-networking \
--project=service-project-id
- 如需详细了解这些标志,请参阅
gcloud beta container clusters create
命令参考指南。
按照在 GKE 上运行 Cloud TPU 应用指南中的 Pod 规范步骤,构建使用 Cloud TPU 资源的作业。
清理
在 GKE 上使用 Cloud TPU 后,请清理资源,以避免您的 Cloud Billing 帐号产生额外扣款。
删除预留的对等互连 IP 地址范围。
$ gcloud beta compute addresses delete peering-name \ --global \ --project=host-project-id
按照有关使用共享 VPC 设置集群的清理说明进行操作,删除集群和网络资源。