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:
- Installato gli strumenti Kubernetes
- Installato XPK
- 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 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
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ò utilizzarePROJECT_ID: il nome del tuo progetto Google CloudZONE: la zona in cui stai creando le risorseCLUSTER: il nome del cluster GKETPU_TYPE: il tipo di TPU. Per ulteriori informazioni, consulta i tipi supportati in XPKPW_CPU_MACHINE_TYPE: il tipo di nodo CPU per il controller PathwaysNETWORK: [facoltativo] imposta un nome di Virtual Private Cloud se utilizzi XPK. Questo deve essere creato prima di creare il clusterSUBNETWORK: [facoltativo] imposta un nome di subnet se utilizzi XPK. Questo deve essere creato prima di creare il cluster
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
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 progetto Google CloudZONE: 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 di Virtual Private Cloud se utilizzi XPK. Questo deve essere creato prima di creare il clusterSUBNETWORK: [facoltativo] imposta un nome di subnet se utilizzi XPK. Questo deve essere creato prima di creare il clusterCLUSTER_NODEPOOL_COUNT: il numero massimo di pool di nodi che un carico di lavoro 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 CPU Pathways
I passaggi seguenti spiegano come creare un cluster GKE e configurarlo per l'esecuzione dei carichi di lavoro 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
- Addestramento resiliente con Pathways
- Portare i carichi di lavoro JAX su Pathways
- Risolvere i problemi di Pathways