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:
- Strumenti Kubernetes installati
- XPK installato
- Abilitato l'API TPU
- Abilitato l'API Google Kubernetes Engine
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
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ò utilizzarePROJECT_ID: il nome del tuo Google Cloud progettoZONE: la zona in cui stai creando le risorseCLUSTER: il nome del cluster GKETPU_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 PathwaysNETWORK: [Facoltativo] imposta un nome Virtual Private Cloud se utilizzi XPK. Questo deve essere creato prima di creare il clusterSUBNETWORK: [Facoltativo] imposta un nome di subnet se utilizzi XPK. Questa subnet deve essere creata prima di creare il cluster.
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
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 GKEPROJECT_ID: il nome del tuo Google Cloud progettoZONE: la zona in cui stai creando le risorseREGION: la regione in cui stai creando le risorseCLUSTER_VERSION: [facoltativo] la versione del cluster GKE, utilizza 1.32.2-gke.1475000 o versioni successivePW_CPU_MACHINE_TYPE: il tipo di nodo CPU per il controller PathwaysNETWORK: [Facoltativo] imposta un nome Virtual Private Cloud se utilizzi XPK. Questo deve essere creato prima di creare il clusterSUBNETWORK: [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ò utilizzareTPU_MACHINE_TYPE: il tipo di macchina TPU che vuoi utilizzareWORKERS_PER_SLICE: il numero di nodi per pool di nodiGKE_ACCELERATOR_TYPE: il tipo di acceleratore Google Kubernetes Engine, vedi Scegliere una versione di TPUTOPOLOGY: la topologia TPUNUM_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.
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}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 doneCrea 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_METADATAInstalla le API
JobSetePathwaysJobRecupera 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=defaultPer utilizzare l'architettura Pathways sul tuo cluster GKE, devi installare l'API
JobSete l'APIPathwaysJob.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
- Esegui un carico di lavoro batch con Pathways
- Modalità interattiva di Pathways
- Inferenza multihost con Pathways
- Formazione resiliente con Pathways
- Portare i carichi di lavoro JAX su Pathways
- Risolvere i problemi relativi ai percorsi