Crea un cluster GKE con Pathways

Puoi utilizzare Accelerated Processing Kit (XPK) per creare cluster Google Kubernetes Engine (GKE) preconfigurati per i carichi di lavoro basati su Pathways. Puoi anche utilizzare gcloud per creare manualmente cluster GKE per i carichi di lavoro basati su Pathways

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 carico di lavoro.

Variabili obbligatorie

Crea un cluster GKE

Nell'esempio seguente, crei un cluster con due pool di nodi v5e 2x4. Puoi creare un cluster utilizzando XPK o il comando gcloud.

XPK

  1. Imposta alcune variabili di ambiente

    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

    Sostituisci quanto segue:

    • CLUSTER_NODEPOOL_COUNT: il numero massimo di pool di nodi che un carico di lavoro può utilizzare
    • PROJECT_ID: il nome del tuo progetto Google Cloud
    • ZONE: la zona in cui stai creando le risorse
    • CLUSTER: il nome del cluster GKE
    • TPU_TYPE: il tipo di TPU. Per ulteriori informazioni, consulta i tipi supportati in XPK
    • PW_CPU_MACHINE_TYPE: il tipo di nodo CPU per il controller Pathways
    • NETWORK: [facoltativo] imposta un nome di Virtual Private Cloud se utilizzi XPK. Questo deve essere creato prima di creare il cluster
    • SUBNETWORK: [facoltativo] imposta un nome di subnet se utilizzi XPK. Questo deve essere creato prima di creare il cluster
  2. Utilizza XPK per creare un cluster GKE Pathways. Il provisioning della capacità con questo comando può richiedere diversi minuti. Al termine, la capacità viene allocata e inizierai a sostenere addebiti.

    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"

Una volta creato il cluster, puoi creare ed eliminare i carichi di lavoro in base alle esigenze. Non è necessario eseguire di nuovo il provisioning della capacità TPU.

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="ct5lp-hightpu-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 progetto Google Cloud
    • 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
    • PW_CPU_MACHINE_TYPE: il tipo di nodo CPU per il controller Pathways
    • NETWORK: [facoltativo] imposta un nome di Virtual Private Cloud se utilizzi XPK. Questo deve essere creato prima di creare il cluster
    • SUBNETWORK: [facoltativo] imposta un nome di subnet se utilizzi XPK. Questo deve essere creato prima di creare il cluster
    • CLUSTER_NODEPOOL_COUNT: il numero massimo di pool di nodi che un carico di lavoro può utilizzare
    • TPU_MACHINE_TYPE: il tipo di macchina TPU che vuoi utilizzare
    • WORKERS_PER_SLICE: il numero di nodi per pool di nodi

    • GKE_ACCELERATOR_TYPE: il tipo di acceleratore Google Kubernetes Engine, vedi Scegliere una versione di TPU

    • TOPOLOGY: la topologia TPU

    • NUM_CPU_NODES: la dimensione del pool di nodi CPU Pathways

I passaggi seguenti spiegano come creare un cluster GKE e configurarlo per l'esecuzione dei carichi di lavoro 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 pool di nodi 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 le API JobSet e PathwaysJob

    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 e l'API PathwaysJob.

    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
    

Passaggi successivi