Clúster de GKE con Cloud TPU a través de una VPC compartida

En esta guía, se describe cómo hacer las siguientes acciones:

  • Configura un clúster de GKE con Cloud TPU mediante una red de VPC compartida.
  • Configura las APIs y los rangos de IP necesarios para garantizar la comunicación entre el clúster, la VPC compartida y los servicios administrados por Google.
  • Crear rangos CIDR secundarios para los Pods del clúster y de Google Cloud.

Conceptos

Estos conceptos se usarán con frecuencia en esta guía:

  • Proyecto host: Un proyecto que contiene una o más VPC compartida redes. En esta guía, este proyecto contendrá tu VPC compartida.

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

Requisitos

Habilita las APIs

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

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

Configura un rango de IP para el intercambio de tráfico entre VPC con los servicios administrados de Google

Sigue estos pasos para reservar un rango de IP en la red de VPC compartida en el proyecto host. Todos los servicios administrados de Google utilizarán el rango en esta red de VPC. Cloud TPU es una de las tecnologías servicios administrados.

  1. Muestra una lista de los rangos de IP existentes en la red de VPC compartida.

    $ gcloud beta compute networks list-ip-addresses network \
    --project=host-project-id
  2. Elige un rango disponible y guárdalo 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 intercambio de tráfico de VPC. El nombre se usará en el siguiente paso.

  3. Crear una conexión de intercambio de tráfico entre redes de VPC entre el proyecto host y Servicios administrados de Google.

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

Crea rangos de IP secundarios para el clúster

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

Estos rangos son para los pods y los servicios de tu clúster, respectivamente. El rango nombres se usarán en los siguientes pasos.

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

  • tier-1-name será el nombre del rango secundario que utilizará. Pods de GKE en subnet.

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

Crea un clúster de GKE con Cloud TPU

En el siguiente comando, se muestra cómo crear un GKE con los rangos de CIDR existentes en tu red de VPC compartida, lo que habilita 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 que se indican en la guía en las especificaciones de Pods. Ejecuta aplicaciones de Cloud TPU en GKE para crear un trabajo que use recursos de Cloud TPU.

Realiza una limpieza

Una vez que termines con Cloud TPU en GKE, limpia los recursos a fin de evitar que se apliquen cargos adicionales a la cuenta de Facturación de Cloud

  1. Borra el rango de IP de intercambio de tráfico reservado.

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
  2. Sigue las instrucciones sobre limpieza en Cómo configurar clústeres con una VPC compartida para borrar el clúster y los recursos de red.