您可以使用Cluster Toolkit为基于 Pathway 的工作负载创建预配置的 Google Kubernetes Engine (GKE) 集群。您还可以使用 gcloud 手动为基于 Pathway 的工作负载创建 GKE 集群。
准备工作
请确保您已备妥:
设置本地环境
使用您的 Google Cloud 凭据登录。
gcloud auth application-default login
使用适合您工作负载的值定义以下环境变量。
创建 GKE 集群
在以下示例中,您将创建一个包含 TPU v6e 2x4 节点池的集群。您可以使用 Cluster Toolkit 或 gcloud CLI 创建集群。
Cluster Toolkit
- 设置 Cluster Toolkit。
按照部署 GKE TPU v6e 集群中的说明部署 GKE TPU 集群(如需概览所有 TPU 部署选项,请参阅 Cloud TPU 部署概览)。
配置部署蓝图时,请执行以下操作:
- 确保
enable_pathways_for_tpus设置为true(在 Cluster Toolkit TPU 蓝图中默认启用)。这会自动为 Pathways 控制器预配所需的cpu-npCPU 节点池 (n4-standard-64) 和 Kueue 配置。 - 将
num_slices设置为工作负载所需的 TPU 切片节点池数量。 - 将
tpu_topology设置为所选 TPU 切片的拓扑(例如2x4或4x4)。 - 如果您使用的是预留容量,请将
reservation设置为您的 TPU 预留名称。
创建集群后,您可以使用
gcluster job submit命令和--pathways标志提交 Pathways 工作负载。- 确保
gcloud
设置一些环境变量
CLUSTER=GKE_CLUSTER_NAME PROJECT=PROJECT_ID ZONE=ZONE REGION=REGION CLUSTER_VERSION=GKE_CLUSTER_VERSION PW_CPU_MACHINE_TYPE="n2-standard-64" NETWORK=NETWORK SUBNETWORK=SUB_NETWORK CLUSTER_NODEPOOL_COUNT=3 TPU_MACHINE_TYPE="ct6e-standard-4t" WORKERS_PER_SLICE=2 TOPOLOGY="2x4" NUM_CPU_NODES=1
替换以下内容:
CLUSTER:GKE 集群名称PROJECT_ID:您的 Google Cloud 项目名称ZONE:您要创建资源的可用区REGION:您要创建资源的区域CLUSTER_VERSION:[可选] GKE 集群版本,使用 1.32.2-gke.1475000 或更高版本NETWORK:[可选] 设置虚拟私有云名称,必须在创建集群之前创建此名称SUBNETWORK:[可选] 设置子网名称,必须在创建集群之前创建此子网
以下步骤介绍了如何创建 GKE 集群并将其设置为运行 Pathways 工作负载。
创建 GKE 集群:
gcloud beta container clusters create ${CLUSTER} \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster-version=${CLUSTER_VERSION} \ --scopes=storage-full,gke-default,cloud-platform \ --machine-type ${PW_CPU_MACHINE_TYPE} \ --network=${NETWORK} \ --subnetwork=${SUBNETWORK}创建 TPU 节点池:
for i in $(seq 1 ${CLUSTER_NODEPOOL_COUNT}); do gcloud container node-pools create "tpu-np-${i}" \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster=${CLUSTER} \ --machine-type=${TPU_MACHINE_TYPE} \ --num-nodes=${WORKERS_PER_SLICE} \ --placement-type=COMPACT \ --tpu-topology=${TOPOLOGY} \ --scopes=storage-full,gke-default,cloud-platform \ --workload-metadata=GCE_METADATA done创建 CPU 节点池:
gcloud container node-pools create "cpu-pathways-np" \ --project ${PROJECT} \ --zone ${ZONE} \ --cluster ${CLUSTER} \ --machine-type ${PW_CPU_MACHINE_TYPE} \ --num-nodes ${NUM_CPU_NODES} \ --scopes=storage-full,gke-default,cloud-platform \ --workload-metadata=GCE_METADATA安装
JobSetAPI获取集群的凭据,并将其添加到本地 kubectl 上下文中。
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=default如需在 GKE 集群上使用 Pathways 架构,您需要安装
JobSetAPI。kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml