使用路徑建立 GKE 叢集

您可以使用加速處理套件 (XPK),為 Pathways 型工作負載建立預先設定的 Google Kubernetes Engine (GKE) 叢集。您也可以使用 gcloud 手動建立 GKE 叢集,用於 Pathways 型工作負載

事前準備

請確認您已備妥以下項目:

設定本機環境

使用 Google Cloud 憑證登入。

gcloud auth application-default login

使用適合工作負載的值定義下列環境變數。

必要變數

建立 GKE 叢集

在下列範例中,您會建立具有兩個 v5e 2x4 節點集區的叢集。您可以使用 XPK 或 gcloud 指令建立叢集。

XPK

  1. 設定幾項環境變數

    CLUSTER_NODEPOOL_COUNT=CLUSTER_NODEPOOL_COUNT
    PROJECT=PROJECT_ID
    ZONE=ZONE
    CLUSTER=GKE_CLUSTER_NAME
    TPU_TYPE="v5litepod-8"
    PW_CPU_MACHINE_TYPE="n2-standard-64"
    NETWORK=NETWORK
    SUBNETWORK=SUB_NETWORK

    更改下列內容:

    • CLUSTER_NODEPOOL_COUNT:工作負載可使用的節點集區數量上限
    • PROJECT_ID:您的 Google Cloud 專案名稱
    • ZONE:要建立資源的可用區
    • CLUSTER:GKE 叢集名稱
    • TPU_TYPE:TPU 類型。詳情請參閱 XPK 支援的類型
    • PW_CPU_MACHINE_TYPE:路徑控制器適用的 CPU 節點類型
    • NETWORK:[選用] 如果使用 XPK,請設定虛擬私有雲名稱,這必須在建立叢集前建立
    • SUBNETWORK:[選用] 如果使用 XPK,請設定子網路名稱,這必須在建立叢集前建立
  2. 使用 XPK 建立 GKE Pathways 叢集。這個指令可能需要幾分鐘才能佈建容量。完成後,系統就會分配容量,並開始向您收取費用。

    xpk cluster create-pathways \
    --num-slices=${CLUSTER_NODEPOOL_COUNT} \
    --tpu-type=${TPU_TYPE} \
    --pathways-gce-machine-type=${PW_CPU_MACHINE_TYPE} \
    --on-demand \
    --project=${PROJECT} \
    --zone=${ZONE} \
    --cluster=${CLUSTER} \
    --custom-cluster-arguments="--network=${NETWORK} --subnetwork=${SUBNETWORK} --enable-ip-alias"

叢集建立完成後,即可視需要建立及刪除工作負載。您不需要重新佈建 TPU 容量。

gcloud

  1. 設定幾項環境變數

    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="ct5lp-hightpu-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 以上版本
    • PW_CPU_MACHINE_TYPE:路徑控制器適用的 CPU 節點類型
    • NETWORK:[選用] 如果使用 XPK,請設定虛擬私有雲名稱,這必須在建立叢集前建立
    • SUBNETWORK:[選用] 如果使用 XPK,請設定子網路名稱,這必須在建立叢集前建立
    • CLUSTER_NODEPOOL_COUNT:工作負載可使用的節點集區數量上限
    • TPU_MACHINE_TYPE:要使用的 TPU 機型
    • WORKERS_PER_SLICE:每個節點集區的節點數量

    • GKE_ACCELERATOR_TYPE:Google Kubernetes Engine 加速器類型,請參閱「選擇 TPU 版本

    • TOPOLOGY:TPU 拓撲

    • NUM_CPU_NODES:路徑 CPU 節點集區大小

下列步驟說明如何建立 GKE 叢集,並設定叢集以執行 Pathways 工作負載。

  1. 建立 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}
    
  2. 建立 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
    
  3. 建立 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
    
  4. 安裝 JobSetPathwaysJob API

    取得叢集憑證,並新增至本機 kubectl 環境。

    gcloud container clusters get-credentials ${CLUSTER} \
        [--zone=${ZONE} | --region=${REGION}] \
        --project=${PROJECT} \
        && kubectl config set-context --current --namespace=default
    

    如要在 GKE 叢集上使用 Pathways 架構,您需要安裝 JobSet API 和 PathwaysJob API。

    kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
    kubectl apply --server-side -f https://github.com/google/pathways-job/releases/download/v0.1.2/install.yaml
    

後續步驟