Criar um cluster do GKE com os programas de aprendizado

Use o Cluster Toolkit para criar clusters pré-configurados do Google Kubernetes Engine (GKE) para cargas de trabalho baseadas em programas. Também é possível usar gcloud para criar manualmente clusters do GKE para cargas de trabalho baseadas em programas.

Antes de começar

Você precisa ter:

Configurar seu ambiente local

Faça login com suas credenciais do Google Cloud .

gcloud auth application-default login

Defina as seguintes variáveis de ambiente com valores adequados à sua carga de trabalho.

Criar um cluster do GKE

No exemplo a seguir, você cria um cluster com pools de nós da TPU v6e 2x4. É possível criar um cluster usando o Cluster Toolkit ou a CLI gcloud.

Cluster Toolkit

  1. Configure o Cluster Toolkit.
  2. Implante um cluster de TPU do GKE seguindo as instruções em Implantar um cluster de TPU v6e do GKE (para uma visão geral de todas as opções de implantação de TPU, consulte Visão geral das implantações do Cloud TPU).

    Ao configurar o blueprint de implantação, faça o seguinte:

    • Verifique se enable_pathways_for_tpus está definido como true (ativado por padrão nos blueprints de TPU do Cluster Toolkit). Isso provisiona automaticamente o pool de nós de CPU cpu-np (n4-standard-64) e as configurações do Kueue necessárias para o controlador do Pathways.
    • Defina num_slices como o número de pools de nós de fração de TPU necessários para sua carga de trabalho.
    • Defina tpu_topology como a topologia de fração de TPU selecionada (por exemplo, 2x4 ou 4x4).
    • Se você estiver usando capacidade reservada, defina reservation como o nome da sua reserva de TPU.

    Depois que o cluster for criado, envie cargas de trabalho do Pathways usando o comando gcluster job submit com a flag --pathways.

gcloud

  1. Definir algumas variáveis de 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="ct6e-standard-4t"
    WORKERS_PER_SLICE=2
    TOPOLOGY="2x4"
    NUM_CPU_NODES=1

    Substitua:

    • CLUSTER: o nome do cluster do GKE
    • PROJECT_ID: o nome do projeto Google Cloud
    • ZONE: a zona em que você está criando recursos
    • REGION: a região em que você está criando recursos
    • CLUSTER_VERSION: [opcional] a versão do cluster do GKE. Use 1.32.2-gke.1475000 ou mais recente.
    • NETWORK: [Opcional] defina um nome de nuvem privada virtual. Ele precisa ser criado antes da criação do cluster.
    • SUBNETWORK: [Opcional] defina um nome de sub-rede. Ele precisa ser criado antes da criação do cluster.

As etapas a seguir explicam como criar um cluster do GKE e configurá-lo para executar cargas de trabalho do Pathways.

  1. Crie um cluster do 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. Crie pools de nós de 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. Crie um pool de nós 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. Instalar a API JobSet

    Receba as credenciais do cluster e adicione-as ao contexto local do kubectl.

    gcloud container clusters get-credentials ${CLUSTER} \
        [--zone=${ZONE} | --region=${REGION}] \
        --project=${PROJECT} \
        && kubectl config set-context --current --namespace=default
    

    Para usar a arquitetura do Pathways no cluster do GKE, instale a API JobSet.

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

A seguir