Cluster do GKE com a Cloud TPU usando uma VPC compartilhada

Neste guia, descrevemos como:

Antes de começar

conceitos

Esses conceitos serão usados com frequência ao longo deste guia:

  • Projeto host: um projeto que contém uma ou mais redes VPC compartilhada. Neste guia, este projeto conterá sua VPC compartilhada.

  • Projeto de serviço: um projeto anexado a um projeto host por um administrador de VPC compartilhada. Esse anexo permite que ele participe da VPC compartilhada. Neste guia, este projeto conterá o cluster do Cloud TPU.

Requisitos

Ativar APIs

  1. Ative as seguintes APIs no console do Google Cloud para seu projeto host:

  2. Ative as seguintes APIs no console do Google Cloud para seu projeto de serviço:

Configurar intervalo de IP para peering de VPC com serviços gerenciados do Google

Siga estas etapas para reservar um intervalo de IP na rede VPC compartilhada no Projeto host. O intervalo será usado por todos os serviços gerenciados do Google nesta rede VPC. A Cloud TPU é um dos serviços gerenciados pelo Google.

  1. Liste os intervalos de IP existentes na rede VPC compartilhada.

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

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

    O peering-name especifica o nome da conexão de peering de VPC. O nome será usado na próxima etapa.

  3. Crie uma conexão de peering de rede VPC entre o projeto host e os serviços gerenciados do Google.

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

Criar intervalos de IP secundários para o cluster

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

Esses intervalos são para os pods e serviços do cluster, respectivamente. Os nomes dos intervalos serão usados nas etapas a seguir.

  • subnet será a sub-rede na rede network do projeto host.

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

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

Criar um cluster do GKE com o Cloud TPU

O comando a seguir mostra como criar um GKE usando os intervalos CIDR atuais na rede VPC compartilhada, ativando o 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

Siga as etapas das especificações do pod no guia Executar aplicativos do Cloud TPU no GKE para criar um job que use os recursos do Cloud TPU.

Limpeza

Quando terminar de usar o Cloud TPU no GKE, limpe os recursos para evitar cobranças extras na conta do Cloud Billing.

  1. Exclua o intervalo de IP de peering reservado.

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
    
  2. Siga as instruções em Como fazer a limpeza na configuração de clusters com a VPC compartilhada para excluir o cluster e os recursos de rede.