Connetti una TPU a una rete VPC condiviso

configura un progetto host VPC

Devi concedere all'account di servizio TPU le autorizzazioni del progetto di servizio per gestire le risorse nel progetto host. Per farlo, utilizza il ruolo "Agente VPC condiviso TPU" (roles/tpu.xpnAgent). Esegui i seguenti comandi gcloud per concedere questa associazione dei ruoli.

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

Crea una VM TPU connessa a una rete VPC condivisa

Innanzitutto determina quali tipi di acceleratori e versioni sono disponibili nella zona

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

Puoi connettere una VM TPU a una rete VPC condiviso quando crei la tua TPU. Specifica il tuo VPC condiviso utilizzando il tag --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

Puoi verificare che la VM TPU sia connessa al tuo VPC condiviso utilizzando il comando gcloud describe:

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

La risposta include la rete a cui è collegata la VM TPU:

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

Elimina la VM TPU

Quando hai finito di utilizzare la VM TPU, assicurati di eliminarla.

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