Puedes usar el kit de procesamiento acelerado (XPK) para crear clústeres de Google Kubernetes Engine (GKE) preconfigurados para cargas de trabajo basadas en rutas de aprendizaje. También puedes usar gcloud para crear manualmente clústeres de GKE para cargas de trabajo basadas en rutas.
Antes de comenzar
Asegúrate de tener lo siguiente:
- Herramientas de Kubernetes instaladas
- XPK instalado
- Habilitaste la API de TPU
- Habilitaste la API de Google Kubernetes Engine
Cómo configurar tu entorno local
Accede con tus Google Cloud credenciales.
gcloud auth application-default login
Define las siguientes variables de entorno con valores adecuados para tu carga de trabajo.
Variables obligatorias
Crea un clúster de GKE
En el siguiente ejemplo, crearás un clúster con dos grupos de nodos v5e 2x4.
Puedes crear un clúster con XPK o el comando gcloud.
XPK
Configura algunas variables de entorno
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
Reemplaza lo siguiente:
CLUSTER_NODEPOOL_COUNT: Es la cantidad máxima de grupos de nodos que puede usar una carga de trabajo.PROJECT_ID: El nombre de tu proyecto de Google CloudZONE: Es la zona en la que crearás recursos.CLUSTER: Es el nombre del clúster de GKE.TPU_TYPE: Es el tipo de TPU. Para obtener más información, consulta los tipos compatibles en XPK.PW_CPU_MACHINE_TYPE: Es el tipo de nodo de CPU para el controlador de Pathways.NETWORK: [Opcional] Establece un nombre de nube privada virtual si usas XPK. Este debe crearse antes de crear el clúster.SUBNETWORK: [Opcional] Establece un nombre de subred si usas XPK. Este debe crearse antes de crear el clúster.
Usa XPK para crear un clúster de GKE Pathways. Este comando puede tardar varios minutos en aprovisionar la capacidad. Una vez que se complete, se asignará tu capacidad y comenzarás a incurrir en cargos.
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 vez que se cree el clúster, podrás crear y borrar cargas de trabajo según sea necesario. No es necesario que vuelvas a aprovisionar la capacidad de TPU.
gcloud
Configura algunas variables de entorno
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
Reemplaza lo siguiente:
CLUSTER: Es el nombre del clúster de GKE.PROJECT_ID: El nombre de tu proyecto de Google CloudZONE: Es la zona en la que crearás recursos.REGION: Es la región en la que crearás recursos.CLUSTER_VERSION: [Opcional] La versión del clúster de GKE. Usa 1.32.2-gke.1475000 o una versión posterior.PW_CPU_MACHINE_TYPE: Es el tipo de nodo de CPU para el controlador de Pathways.NETWORK: [Opcional] Establece un nombre de nube privada virtual si usas XPK. Este debe crearse antes de crear el clúster.SUBNETWORK: [Opcional] Establece un nombre de subred si usas XPK. Este debe crearse antes de crear el clúster.CLUSTER_NODEPOOL_COUNT: Es la cantidad máxima de grupos de nodos que puede usar una carga de trabajo.TPU_MACHINE_TYPE: El tipo de máquina de TPU que deseas usarWORKERS_PER_SLICE: Es la cantidad de nodos por grupo de nodos.GKE_ACCELERATOR_TYPE: Es el tipo de acelerador de Google Kubernetes Engine. Consulta Cómo elegir una versión de TPU.TOPOLOGY: Es la topología de la TPU.NUM_CPU_NODES: Tamaño del grupo de nodos de CPU de Pathways
En los siguientes pasos, se explica cómo crear un clúster de GKE y configurarlo para ejecutar cargas de trabajo de Pathways.
Crea un clúster de 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 grupos de nodo 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 grupo de nodos de 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_METADATAInstala las APIs de
JobSetyPathwaysJobObtén las credenciales del clúster y agrégalas a tu contexto local de kubectl.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultPara usar la arquitectura de Pathways en tu clúster de GKE, debes instalar las APIs de
JobSetyPathwaysJob.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
¿Qué sigue?
- Ejecuta una carga de trabajo por lotes con Pathways
- Modo interactivo de Rutas de aprendizaje
- Inferencia multihost con Pathways
- Capacitación resiliente con Pathways
- Cómo portar cargas de trabajo de JAX a Pathways
- Soluciona problemas de Rutas