Cluster GKE avec Cloud TPU utilisant un VPC partagé

Ce guide vous explique comment :

  • Configurez un cluster GKE avec Cloud TPU à l'aide d'un réseau VPC partagé.
  • Configurez les API et les plages d'adresses IP requises pour assurer la communication entre le cluster, le VPC partagé et les services gérés par Google.
  • Créez des plages CIDR secondaires pour les pods et les services du cluster.

Concepts

Ces concepts 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 du VPC partagé. Cette opération d'association lui permet de participer au 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 projet de service:

Configurer une plage d'adresses IP pour l'appairage VPC avec les services gérés par 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'un des services gérés par Google.

  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 sont destinées aux pods et aux services de votre cluster, respectivement. 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 des plages CIDR existantes de votre réseau VPC partagé, en activant 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 de la section Nettoyage de la page "Configurer des clusters avec un VPC partagé" pour supprimer le cluster et les ressources réseau.