Crea un cluster GKE con Pathways

Puoi utilizzare Cluster Toolkit per creare cluster Google Kubernetes Engine (GKE) preconfigurati per i carichi di lavoro basati su percorsi. Puoi anche utilizzare gcloud per creare manualmente cluster GKE per i carichi di lavoro basati su percorsi.

Prima di iniziare

Assicurati di avere:

Configura l'ambiente locale

Accedi con le tue Google Cloud credenziali.

gcloud auth application-default login

Definisci le seguenti variabili di ambiente con valori appropriati per il tuo workload.

Crea un cluster GKE

Nell'esempio seguente, crei un cluster con pool di nodi TPU v6e 2x4. Puoi creare un cluster utilizzando Cluster Toolkit o la CLI gcloud.

Cluster Toolkit

  1. Configura Cluster Toolkit.
  2. Esegui il deployment di un cluster GKE TPU seguendo le istruzioni riportate in Esegui il deployment di un cluster GKE TPU v6e (per una panoramica di tutte le opzioni di deployment di TPU, consulta Panoramica dei deployment di Cloud TPU).

    Quando configuri il progetto di deployment, procedi nel seguente modo:

    • Assicurati che enable_pathways_for_tpus sia impostato su true (abilitato per impostazione predefinita nei blueprint TPU di Cluster Toolkit). In questo modo viene eseguito automaticamente il provisioning del pool di nodi CPU cpu-np richiesto (n4-standard-64) e delle configurazioni di Kueue per il controller Pathways.
    • Imposta num_slices sul numero di node pool di sezioni TPU richiesti per il tuo workload.
    • Imposta tpu_topology sulla topologia di slice TPU selezionata (ad esempio, 2x4 o 4x4).
    • Se utilizzi la capacità riservata, imposta reservation sul nome della tua prenotazione TPU.

    Dopo la creazione del cluster, puoi inviare i carichi di lavoro di Pathways utilizzando il comando gcluster job submit con il flag --pathways.

gcloud

  1. Imposta alcune variabili di ambiente

    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

    Sostituisci quanto segue:

    • CLUSTER: il nome del cluster GKE
    • PROJECT_ID: il nome del tuo Google Cloud progetto
    • ZONE: la zona in cui stai creando le risorse
    • REGION: la regione in cui stai creando le risorse
    • CLUSTER_VERSION: [facoltativo] la versione del cluster GKE, utilizza 1.32.2-gke.1475000 o versioni successive
    • NETWORK: [facoltativo] imposta un nome Virtual Private Cloud. Questo deve essere creato prima di creare il cluster.
    • SUBNETWORK: [facoltativo] imposta un nome di subnet, che deve essere creato prima di creare il cluster

I seguenti passaggi spiegano come creare un cluster GKE e configurarlo per l'esecuzione dei workload Pathways.

  1. Crea un cluster 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. Crea node pool 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. Crea un pool di nodi 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. Installa l'API JobSet

    Recupera le credenziali per il cluster e aggiungile al contesto kubectl locale.

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

    Per utilizzare l'architettura Pathways sul tuo cluster GKE, devi installare l'API JobSet.

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

Passaggi successivi