Clúster de GKE con TPU de Cloud que usa una VPC compartida

En esta guía se explica cómo hacer lo siguiente:

Conceptos

Estos conceptos se usarán con frecuencia a lo largo de esta guía:

  • Proyecto host: proyecto que contiene una o varias redes de VPC compartidas. En esta guía, este proyecto contendrá tu VPC compartida.

  • Proyecto de servicio: proyecto vinculado a un proyecto host por un administrador de VPC compartida. Este adjunto le permite participar en la VPC compartida. En esta guía, este proyecto contendrá tu clúster de Cloud TPU.

Requisitos

Habilitar APIs

  1. Habilita las siguientes APIs en la Google Cloud consola de tu proyecto host:

  2. Habilita las siguientes APIs en la Google Cloud consola de tu proyecto de servicio:

Configurar el intervalo de direcciones IP para el emparejamiento de VPC con servicios gestionados de Google

Sigue estos pasos para reservar un intervalo de IP en la red de VPC compartida del proyecto host. Todos los servicios gestionados de Google de esta red VPC usarán el intervalo. TPU de Cloud es uno de los servicios gestionados de Google.

  1. Lista los intervalos de IP de la red de VPC compartida.

    $ gcloud beta compute networks list-ip-addresses network \
    --project=host-project-id
  2. Elige un intervalo disponible y resérvalo en la red de VPC compartida.

    $ gcloud beta compute addresses create peering-name \
      --global \
      --prefix-length=16 \
      --network=network \
      --purpose=VPC_PEERING \
      --project=host-project-id

    peering-name especifica el nombre de la conexión de VPC peering. El nombre se usará en el siguiente paso.

  3. Crea una conexión de emparejamiento de redes de VPC entre el proyecto host y los servicios gestionados por Google.

    $ gcloud beta services vpc-peerings connect \
      --service=servicenetworking.googleapis.com \
      --network=network \
      --ranges=peering-name \
      --project=host-project-id

Crear intervalos de IP secundarios para el clúster

En tu red de VPC compartida, selecciona o crea una subred y añade dos intervalos CIDR secundarios para los pods y los servicios del clúster.

Estos intervalos corresponden a los pods y servicios de tu clúster, respectivamente. Los nombres de los intervalos se usarán en los pasos siguientes.

  • subnet será la subred de network de tu proyecto del host.

  • tier-1-name será el nombre del intervalo secundario que usen los pods de GKE en subnet.

  • tier-2-name será el nombre del intervalo secundario que utilicen los servicios de GKE en subnet.

Crear un clúster de GKE con Cloud TPU

El siguiente comando muestra cómo crear un clúster de GKE con los intervalos CIDR de tu red de VPC compartida y habilitar 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

Sigue los pasos de la sección Especificación de pod de la guía Ejecutar aplicaciones de TPU de Cloud en GKE para crear un trabajo que use recursos de TPU de Cloud.

Limpieza

Cuando hayas terminado de usar TPU de Cloud en GKE, elimina los recursos para evitar que se apliquen cargos adicionales a tu cuenta de facturación de Cloud.

  1. Elimina el intervalo de direcciones IP de intercambio de tráfico reservado.

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
  2. Sigue las instrucciones de la sección Limpieza del artículo Configurar clústeres con una VPC compartida para eliminar el clúster y los recursos de red.