GKE-Cluster mit Pathways erstellen

Mit dem Accelerated Processing Kit (XPK) können Sie vorkonfigurierte Google Kubernetes Engine-Cluster (GKE) für auf Pathways basierende Arbeitslasten erstellen. Sie können auch gcloud verwenden, um GKE-Cluster für auf Pathways basierende Arbeitslasten manuell zu erstellen.

Hinweise

Sie benötigen Folgendes:

Lokale Umgebung einrichten

Melden Sie sich mit Ihren Google Cloud Anmeldedaten an.

gcloud auth application-default login

Definieren Sie die folgenden Umgebungsvariablen mit Werten, die für Ihren Arbeitslast geeignet sind.

Erforderliche Variablen

GKE-Cluster erstellen

Im folgenden Beispiel erstellen Sie einen Cluster mit zwei v5e-2x4-Knotenpools. Sie können einen Cluster mit XPK oder dem Befehl gcloud erstellen.

XPK

  1. Einige Umgebungsvariablen festlegen

    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

    Ersetzen Sie Folgendes:

    • CLUSTER_NODEPOOL_COUNT: die maximale Anzahl von Knotenpools, die ein Arbeitslast verwenden kann
    • PROJECT_ID: Ihr Google Cloud Projektname
    • ZONE: die Zone, in der Sie Ressourcen erstellen
    • CLUSTER: der Name des GKE-Cluster
    • TPU_TYPE: der TPU-Typ. Weitere Informationen finden Sie unter Unterstützte Typen in XPK.
    • PW_CPU_MACHINE_TYPE: Der CPU-Knotentyp für den Pathways-Controller.
    • NETWORK: [Optional] Legen Sie einen VPC-Namen (Virtual Private Cloud) fest, wenn Sie XPK verwenden. Dieser muss vor dem Erstellen des Clusters erstellt werden.
    • SUBNETWORK: [Optional] Legen Sie einen Subnetzwerknamen fest, wenn Sie XPK verwenden. Dieses muss vor dem Erstellen des Clusters erstellt werden.
  2. Mit XPK einen GKE Pathways-Cluster erstellen Die Bereitstellung der Kapazität kann mehrere Minuten dauern. Sobald die Zuweisung abgeschlossen ist, fallen Kosten an.

    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"

Nachdem der Cluster erstellt wurde, können Sie Arbeitslasten nach Bedarf erstellen und löschen. Sie müssen die TPU-Kapazität nicht noch einmal bereitstellen.

gcloud

  1. Einige Umgebungsvariablen festlegen

    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

    Ersetzen Sie Folgendes:

    • CLUSTER: der Name des GKE-Cluster
    • PROJECT_ID: Ihr Google Cloud Projektname
    • ZONE: die Zone, in der Sie Ressourcen erstellen
    • REGION: die Region, in der Sie Ressourcen erstellen
    • CLUSTER_VERSION: [Optional] Die GKE-Clusterversion. Verwenden Sie 1.32.2-gke.1475000 oder höher.
    • PW_CPU_MACHINE_TYPE: Der CPU-Knotentyp für den Pathways-Controller.
    • NETWORK: [Optional] Legen Sie einen VPC-Namen (Virtual Private Cloud) fest, wenn Sie XPK verwenden. Dieser muss vor dem Erstellen des Clusters erstellt werden.
    • SUBNETWORK: [Optional] Legen Sie einen Subnetzwerknamen fest, wenn Sie XPK verwenden. Dieses muss vor dem Erstellen des Clusters erstellt werden.
    • CLUSTER_NODEPOOL_COUNT: die maximale Anzahl von Knotenpools, die ein Arbeitslast verwenden kann
    • TPU_MACHINE_TYPE: Der TPU-Maschinentyp, den Sie verwenden möchten.
    • WORKERS_PER_SLICE: die Anzahl der Knoten pro Knotenpool

    • GKE_ACCELERATOR_TYPE: Der Google Kubernetes Engine-Beschleunigertyp. Weitere Informationen finden Sie unter TPU-Version auswählen.

    • TOPOLOGY: die TPU-Topologie

    • NUM_CPU_NODES: Die Größe des CPU-Knotenpools für Pathways

In den folgenden Schritten wird beschrieben, wie Sie einen GKE-Cluster erstellen und für die Ausführung von Pathways-Arbeitslasten einrichten.

  1. Erstellen Sie einen GKE-Cluster.

    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-Knotenpools erstellen:

    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-Knotenpool erstellen:

    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- und PathwaysJob-APIs installieren

    Rufen Sie die Anmeldedaten für den Cluster ab und fügen Sie sie Ihrem lokalen kubectl-Kontext hinzu.

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

    Wenn Sie die Pathways-Architektur in Ihrem GKE-Cluster verwenden möchten, müssen Sie die JobSet API und die PathwaysJob API installieren.

    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
    

Nächste Schritte