Cluster do GKE com Cloud TPU através de uma VPC partilhada

Este guia descreve como:

Conceitos

Estes conceitos são usados frequentemente ao longo deste guia:

  • Projeto anfitrião: um projeto que contém uma ou mais redes de VPC partilhada. Neste guia, este projeto vai conter a sua VPC partilhada.

  • Projeto de serviço: um projeto anexado a um projeto anfitrião por um administrador da VPC partilhada. Esta associação permite-lhe participar na VPC partilhada. Neste guia, este projeto vai conter o seu cluster do Cloud TPU.

Requisitos

Ativar APIs

  1. Ative as seguintes APIs na Google Cloud consola para o seu projeto anfitrião:

  2. Ative as seguintes APIs na Google Cloud consola para o seu projeto de serviço:

Configure o intervalo de IP para o VPC Peering para serviços geridos pela Google

Siga estes passos para reservar um intervalo de IP na rede VPC partilhada no projeto anfitrião. O intervalo vai ser usado por todos os serviços geridos pela Google nesta rede VPC. A Cloud TPU é um dos serviços geridos pela Google.

  1. Indique os intervalos de IP existentes na rede de VPC partilhada.

    $ gcloud beta compute networks list-ip-addresses network \
    --project=host-project-id
  2. Escolha um intervalo disponível e reserve-o na rede de VPC partilhada.

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

    O elemento peering-name especifica o nome da ligação de interligação de VPCs. O nome vai ser usado no passo seguinte.

  3. Crie uma ligação de interconexão de rede VPC entre o projeto anfitrião e os serviços geridos pela Google.

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

Crie intervalos de IP secundários para o cluster

Na sua rede de VPC partilhada, selecione ou crie uma sub-rede e adicione dois intervalos CIDR secundários para os pods e os serviços do cluster.

Estes intervalos destinam-se aos pods e aos serviços do seu cluster, respetivamente. Os nomes dos intervalos vão ser usados nos passos seguintes.

  • subnet vai ser a sub-rede no network do seu projeto anfitrião.

  • tier-1-name vai ser o nome do intervalo secundário usado pelos pods do GKE em subnet.

  • tier-2-name vai ser o nome do intervalo secundário usado pelos serviços do GKE em subnet.

Crie um cluster do GKE com o Cloud TPU

O comando seguinte mostra como criar um GKE usando os intervalos CIDR existentes na sua rede de VPC partilhada, o que permite a TPU na nuvem:

$ 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

Siga os passos da especificação do pod no guia Execute aplicações Cloud TPU no GKE para criar uma tarefa que use recursos do Cloud TPU.

Limpar

Quando terminar de usar o Cloud TPU no GKE, limpe os recursos para evitar custos adicionais na sua conta de faturação do Google Cloud.

  1. Elimine o intervalo de IP de intercâmbio reservado.

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
  2. Siga as instruções em Limpar em Configurar clusters com a VPC partilhada para eliminar o cluster e os recursos de rede.