Connecter un TPU à un réseau VPC partagé

Configurer un projet hôte VPC

Vous devez accorder au compte de service TPU de votre projet de service les autorisations nécessaires pour gérer les ressources du projet hôte. Pour ce faire, utilisez le rôle "Agent dans le VPC partagé pour les nœuds TPU" (roles/tpu.xpnAgent). Exécutez les commandes gcloud suivantes pour accorder cette liaison de rôle.

gcloud projects add-iam-policy-binding host-project-id \
--member=serviceAccount:service-your-service-project-number@gcp-sa-tpu.iam.gserviceaccount.com \
--role=roles/tpu.xpnAgent

Créer une VM TPU connectée à un réseau VPC partagé

Déterminez d'abord les types et versions d'accélérateurs disponibles dans la zone.

gcloud compute tpus accelerator-types list --zone zone
gcloud compute tpus versions list --zone zone

Vous connectez une VM TPU à un réseau VPC partagé lorsque vous créez votre TPU. Spécifiez votre VPC partagé à l'aide de la balise --network:

gcloud compute tpus tpu-vm create tpu-name \
   --zone zone \
   --accelerator-type accelerator-type \
   --network projects/host-project-id/global/networks/host-network \
   --version tpu-image-version \
   --project your-service-project-id

Vous pouvez vérifier que votre VM TPU est connectée à votre VPC partagé à l'aide de la commande gcloud describe:

$ gcloud compute tpus tpu-vm describe tpu-name --zone zone

La réponse inclut le réseau auquel votre VM TPU est associée:

acceleratorType: v3-8
apiVersion: V2
cidrBlock: 10.128.0.0/20
createTime: '2022-06-17T21:32:13.859274143Z'
health: HEALTHY
id: '0000000000000000000'
name: projects/my-project/locations/us-central1-b/nodes/my-tpu
networkConfig:
  enableExternalIps: true
  network: projects/my-project/global/networks/default
  subnetwork: projects/my-project/regions/us-central1/subnetworks/default
networkEndpoints:
- accessConfig:
    externalIp: 000.000.000.000
  ipAddress: 10.128.0.104
  port: 8470
runtimeVersion: tpu-vm-tf-2.8.0
schedulingConfig: {}
serviceAccount:
  email: 00000000000-compute@developer.gserviceaccount.com
  scope:
  - https://www.googleapis.com/auth/devstorage.read_write
  - https://www.googleapis.com/auth/logging.write
  - https://www.googleapis.com/auth/service.management
  - https://www.googleapis.com/auth/servicecontrol
  - https://www.googleapis.com/auth/cloud-platform
  - https://www.googleapis.com/auth/pubsub
shieldedInstanceConfig: {}
state: READY

Supprimer la VM TPU

Lorsque vous n'avez plus besoin de la VM TPU, veillez à la supprimer.

gcloud compute tpus tpu-vm delete tpu-name --zone zone