Crea un clúster de GKE con Pathways

Puedes usar Cluster Toolkit 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:

Cómo configurar tu entorno local

Accede con tus credenciales de Google Cloud .

gcloud auth application-default login

Define las siguientes variables de entorno con valores adecuados para tu carga de trabajo.

Crea un clúster de GKE

En el siguiente ejemplo, crearás un clúster con grupos de nodos TPU v6e 2x4. Puedes crear un clúster con Cluster Toolkit o la CLI de gcloud.

Cluster Toolkit

  1. Configura Cluster Toolkit.
  2. Implementa un clúster de TPU de GKE siguiendo las instrucciones que se indican en Implementa un clúster de TPU v6e de GKE (para obtener una descripción general de todas las opciones de implementación de TPU, consulta Descripción general de las implementaciones de Cloud TPU).

    Cuando configures tu plano de implementación, haz lo siguiente:

    • Asegúrate de que enable_pathways_for_tpus esté configurado como true (habilitado de forma predeterminada en los planos de TPU de Cluster Toolkit). Esto aprovisiona automáticamente el grupo de nodos de CPU cpu-np requerido (n4-standard-64) y las configuraciones de Kueue para el controlador de Pathways.
    • Establece num_slices en la cantidad de grupos de nodos de porción de TPU que requiere tu carga de trabajo.
    • Establece tpu_topology en la topología de la porción de TPU seleccionada (por ejemplo, 2x4 o 4x4).
    • Si usas capacidad reservada, establece reservation en el nombre de tu reserva de TPU.

    Después de crear el clúster, puedes enviar cargas de trabajo de Pathways con el comando gcluster job submit y la marca --pathways.

gcloud

  1. 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="ct6e-standard-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: Es el nombre de tu proyecto de Google Cloud .
    • ZONE: Es la zona en la que crearás recursos.
    • REGION: Es la región en la que crearás recursos.
    • CLUSTER_VERSION: [Opcional] Es la versión del clúster de GKE. Usa 1.32.2-gke.1475000 o una versión posterior.
    • NETWORK: [Opcional] Establece un nombre de nube privada virtual. Se debe crear antes de crear el clúster.
    • SUBNETWORK: [Opcional] Establece un nombre de subred. Esta debe crearse antes de crear el clúster.

En los siguientes pasos, se explica cómo crear un clúster de GKE y configurarlo para ejecutar cargas de trabajo de Pathways.

  1. 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}
    
  2. 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
    done
    
  3. Crea 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_METADATA
    
  4. Instala la API de JobSet

    Obtén credenciales para el 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=default
    

    Para usar la arquitectura de Pathways en tu clúster de GKE, debes instalar la API de JobSet.

    kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
    

¿Qué sigue?