Cluster GKE avec Cloud TPU utilisant un VPC partagé

Ce guide vous explique comment :

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 de VPC partagé. Ce rattachement 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 sur la console Google Cloud pour votre projet hôte:

  2. Activez les API suivantes sur la console Google Cloud pour votre projet de service:

Configurer la plage d'adresses IP pour l'appairage de VPC aux services gérés par Google

Procédez comme suit pour réserver une plage d'adresses IP sur le réseau VPC partagé dans le projet hôte. Cette plage sera utilisée par tous les services gérés par Google de ce réseau VPC. Cloud TPU est l'un des services gérés de Google.

  1. Listez les 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
    

    Le champ peering-name spécifie le nom de la connexion d'appairage de 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 la 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 sera 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é, ce qui permet d'activer 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 la procédure de spécification des pods dans le guide Exécuter des applications Cloud TPU sur GKE pour créer un job 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 Effectuer un nettoyage de la page "Configurer des clusters avec un VPC partagé" pour supprimer le cluster et ses ressources réseau.