Cluster GKE avec Cloud TPU utilisant un VPC partagé

Ce guide vous explique comment :

Concepts

Les concepts suivants seront fréquemment utilisés tout au long de ce guide:

  • Projet hôte : projet contenant un ou plusieurs réseaux VPC partagés. Dans ce guide, ce projet contiendra votre VPC partagé.

  • Projet de service: projet associé à un projet hôte par un administrateur de VPC partagé. Cette pièce jointe lui permet de participer dans le VPC partagé. Dans ce guide, ce projet contiendra votre cluster Cloud TPU.

Conditions requises

Activer les API

  1. Activez les API suivantes dans la console Google Cloud pour votre projet hôte :

  2. Activez les API suivantes dans la console Google Cloud pour votre Service Project (Projet de service) :

Configurer une plage d'adresses IP pour l'appairage de VPC avec les services gérés Google

Suivez ces étapes pour réserver une plage d'adresses IP dans le réseau VPC partagé du projet hôte. La plage sera utilisée par tous les services gérés par Google dans ce réseau VPC. Cloud TPU est l'une des solutions Google des services gérés.

  1. Liste des plages d'adresses IP existantes dans le réseau VPC partagé.

    $ gcloud beta compute networks list-ip-addresses network \
    --project=host-project-id
  2. Choisissez une plage disponible et réservez-la dans le réseau VPC partagé.

    $ gcloud beta compute addresses create peering-name \
      --global \
      --prefix-length=16 \
      --network=network \
      --purpose=VPC_PEERING \
      --project=host-project-id

    peering-name spécifie le nom de la connexion d'appairage VPC. Ce nom sera utilisé à l'étape suivante.

  3. Créez une connexion d'appairage de réseaux VPC entre le projet hôte et les services gérés par Google.

    $ gcloud beta services vpc-peerings connect \
      --service=servicenetworking.googleapis.com \
      --network=network \
      --ranges=peering-name \
      --project=host-project-id

Créer des plages d'adresses IP secondaires pour le cluster

Dans votre réseau VPC partagé, sélectionnez ou créez un sous-réseau, puis ajoutez deux plages CIDR secondaires pour les pods et les services du cluster.

Ces plages concernent respectivement les pods et les services de votre cluster. Les noms de plage seront utilisés dans les étapes suivantes.

  • subnet sera le sous-réseau dans le network de votre projet hôte.

  • tier-1-name correspond au nom de la plage secondaire utilisée par les pods GKE dans subnet.

  • tier-2-name est le nom de la plage secondaire utilisée par les services GKE dans subnet.

Créer un cluster GKE avec Cloud TPU

La commande suivante montre comment créer un cluster GKE à l'aide de la méthode plages CIDR existantes dans votre réseau VPC partagé, ce qui vous permet Cloud TPU:

$ gcloud beta container clusters create cluster-name \
  --enable-ip-alias \
  --network projects/host-project-id/global/networks/network \
  --subnetwork projects/host-project-id/regions/region/subnetworks/subnet \
  --cluster-secondary-range-name tier-1-name \
  --services-secondary-range-name tier-2-name \
  --scopes=cloud-platform \
  --enable-tpu \
  --enable-tpu-service-networking \
  --project=service-project-id

Suivez les étapes de spécification du pod dans le guide Exécuter des applications Cloud TPU sur GKE pour créer une tâche qui utilise des ressources Cloud TPU.

Effectuer un nettoyage

Une fois que vous n'avez plus besoin d'utiliser Cloud TPU sur GKE, nettoyez les ressources pour éviter que des frais supplémentaires ne soient imputés à votre compte de facturation Cloud.

  1. Supprimez la plage d'adresses IP d'appairage réservée.

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
  2. Suivez les instructions sur Effectuer un nettoyage sur la configuration de clusters avec un VPC partagé pour supprimer le cluster aux ressources réseau.