Créer un cluster GKE avec Pathways

Vous pouvez utiliser le kit de traitement accéléré (XPK) pour créer des clusters Google Kubernetes Engine (GKE) préconfigurés pour les charges de travail basées sur Pathways. Vous pouvez également utiliser gcloud pour créer manuellement des clusters GKE pour les charges de travail basées sur Pathways.

Avant de commencer

Vérifiez que vous disposez bien des éléments suivants :

Configurer votre environnement local

Connectez-vous avec vos Google Cloud identifiants.

gcloud auth application-default login

Définissez les variables d'environnement suivantes avec des valeurs adaptées à votre charge de travail.

Variables requises

Créer un cluster GKE

Dans l'exemple suivant, vous créez un cluster avec deux pools de nœuds v5e 2x4. Vous pouvez créer un cluster à l'aide de XPK ou de la commande gcloud.

XPK

  1. Définissez des variables d'environnement.

    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

    Remplacez les éléments suivants :

    • CLUSTER_NODEPOOL_COUNT : nombre maximal de pools de nœuds qu'une charge de travail peut utiliser.
    • PROJECT_ID: votre Google Cloud nom de projet
    • ZONE : zone dans laquelle vous créez des ressources.
    • CLUSTER : nom du cluster GKE.
    • TPU_TYPE : type de TPU. Pour en savoir plus, consultez les types compatibles dans XPK.
    • PW_CPU_MACHINE_TYPE : type de nœud de processeur pour le contrôleur Pathways.
    • NETWORK : [facultatif] définissez un nom de cloud privé virtuel si vous utilisez XPK. Il doit être créé avant la création de votre cluster.
    • SUBNETWORK : [facultatif] définissez un nom de sous-réseau si vous utilisez XPK. Il doit être créé avant la création de votre cluster.
  2. Utilisez XPK pour créer un cluster GKE Pathways. L'exécution de cette commande peut prendre plusieurs minutes. Une fois l'opération terminée, votre capacité est allouée et vous commencez à être facturé.

    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"

Une fois le cluster créé, vous pouvez créer et supprimer des charges de travail selon vos besoins. Vous n'avez pas besoin de provisionner à nouveau la capacité TPU.

gcloud

  1. Définissez des variables d'environnement.

    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

    Remplacez les éléments suivants :

    • CLUSTER : nom du cluster GKE.
    • PROJECT_ID: votre Google Cloud nom de projet
    • ZONE : zone dans laquelle vous créez des ressources.
    • REGION : région dans laquelle vous créez des ressources.
    • CLUSTER_VERSION : [facultatif] version du cluster GKE. Utilisez la version 1.32.2-gke.1475000 ou une version ultérieure.
    • PW_CPU_MACHINE_TYPE : type de nœud de processeur pour le contrôleur Pathways.
    • NETWORK : [facultatif] définissez un nom de cloud privé virtuel si vous utilisez XPK. Il doit être créé avant la création de votre cluster.
    • SUBNETWORK : [facultatif] définissez un nom de sous-réseau si vous utilisez XPK. Il doit être créé avant la création de votre cluster.
    • CLUSTER_NODEPOOL_COUNT : nombre maximal de pools de nœuds qu'une charge de travail peut utiliser.
    • TPU_MACHINE_TYPE : le type de machine TPU que vous souhaitez utiliser.
    • WORKERS_PER_SLICE : nombre de nœuds par pool de nœuds.

    • GKE_ACCELERATOR_TYPE : type d'accélérateur Google Kubernetes Engine. Consultez Choisir une version de TPU.

    • TOPOLOGY : topologie TPU.

    • NUM_CPU_NODES : taille du pool de nœuds de processeur Pathways.

Les étapes suivantes expliquent comment créer un cluster GKE et le configurer pour exécuter des charges de travail Pathways.

  1. Créez 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}
    
  2. Créez des pools de nœuds 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. Créez un pool de nœuds de processeur :

    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. Installez les API JobSet et PathwaysJob.

    Obtenez les identifiants du cluster et ajoutez-les à votre contexte kubectl local.

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

    Pour utiliser l'architecture Pathways sur votre cluster GKE, vous devez installer l'API JobSet et l'API PathwaysJob.

    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
    

Étape suivante