Cluster GKE Cloud TPU avec un VPC partagé
Ce guide vous explique :
- Comment configurer un cluster GKE Cloud TPU utilisant un réseau VPC partagé.
- Comment configurer 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.
- Comment créer des plages CIDR secondaires pour les pods et les services du cluster.
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 du VPC partagé. Cette association lui permet de participer au VPC partagé. Dans ce guide, ce projet contiendra votre cluster Cloud TPU.
Conditions requises
Activer les API
Activez les API suivantes sur la console Google Cloud pour votre projet hôte :
Activez les API suivantes sur la console Google Cloud pour votre projet de service :
Configurer une plage d'adresses IP pour l'appairage de 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. Cette plage sera utilisée par tous les services gérés par Google dans ce réseau VPC. Cloud TPU fait partie des services gérés par Google.
Affichez la 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
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 de VPC. Ce nom sera utilisé à l'étape suivante.
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 plages seront utilisés dans les étapes suivantes.
subnet sera le sous-réseau dans le network de votre projet hôte.
tier-1-name sera le 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 dans 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
- Pour en savoir plus sur ces options, consultez le guide de référence dédié à la commande
gcloud beta container clusters create.
Suivez les étapes de spécification du pod 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.
Supprimez la plage d'adresses IP d'appairage réservée.
$ gcloud beta compute addresses delete peering-name \ --global \ --project=host-project-id
Suivez les instructions de la section Effectuer un nettoyage disponible sur la page "Configurer des clusters avec un VPC partagé" pour supprimer le cluster et les ressources réseau.