Crea un cluster GKE con Pathways

Puoi utilizzare l'Accelerated Processing Kit (XPK) per creare cluster Google Kubernetes Engine (GKE) preconfigurati per i workload basati su percorsi. Puoi anche utilizzare gcloud per creare manualmente cluster GKE per 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.

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 workload può utilizzare
    • PROJECT_ID: il nome del tuo Google Cloud progetto
    • ZONE: la zona in cui stai creando le risorse
    • CLUSTER: il nome del cluster GKE
    • TPU_TYPE: il tipo di TPU. Per saperne di più, consulta Tipi supportati in XPK.
    • PW_CPU_MACHINE_TYPE: il tipo di nodo CPU per il controller Pathways
    • NETWORK: [Facoltativo] imposta un nome 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. Questa subnet deve essere creata prima di creare il cluster.
  2. Utilizza XPK per creare un cluster GKE Pathways. Il completamento di questo comando può richiedere diversi minuti. Una volta completato, 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 workload in base alle esigenze. Non è necessario eseguire nuovamente 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 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
    • PW_CPU_MACHINE_TYPE: il tipo di nodo CPU per il controller Pathways
    • NETWORK: [Facoltativo] imposta un nome 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. Questa subnet deve essere creata prima di creare il cluster.
    • CLUSTER_NODEPOOL_COUNT: il numero massimo di pool di nodi che un workload 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 della CPU di Pathways

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 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