Pathways を使用して GKE クラスタを作成する

Accelerated Processing Kit(XPK)を使用すると、Pathways ベースのワークロード用に事前構成された Google Kubernetes Engine(GKE)クラスタを作成できます。gcloud を使用して、Pathways ベースのワークロード用の GKE クラスタを手動で作成することもできます。

始める前に

インストールに必要なもの:

ローカル環境を設定する

Google Cloud 認証情報でログインします。

gcloud auth application-default login

ワークロードに適した値を使用して、次の環境変数を定義します。

必須変数

GKE クラスタを作成する

次の例では、2 つの 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: Pathways コントローラの CPU ノードタイプ
    • NETWORK: [省略可] XPK を使用する場合は Virtual Private Cloud 名を設定します。これは、クラスタを作成する前に作成する必要があります。
    • 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: Pathways コントローラの CPU ノードタイプ
    • NETWORK: [省略可] XPK を使用する場合は Virtual Private Cloud 名を設定します。これは、クラスタを作成する前に作成する必要があります。
    • SUBNETWORK: [省略可] XPK を使用する場合はサブネットワーク名を設定します。これはクラスタを作成する前に作成する必要があります
    • CLUSTER_NODEPOOL_COUNT: ワークロードで使用できるノードプールの最大数
    • TPU_MACHINE_TYPE: 使用する TPU マシンタイプ
    • WORKERS_PER_SLICE: ノードプールあたりのノード数

    • GKE_ACCELERATOR_TYPE: Google Kubernetes Engine アクセラレータ タイプ。TPU バージョンを選択するをご覧ください。

    • TOPOLOGY: TPU トポロジ

    • NUM_CPU_NODES: Pathways 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. JobSet API と PathwaysJob 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
    

次のステップ