Cluster do GKE com Cloud TPU usando uma VPC compartilhada

Neste guia, descrevemos como:

Conceitos

Estes conceitos serão usados com frequência neste guia:

  • Projeto host: contém uma ou mais redes VPC compartilhada. Neste guia, o projeto vai conter a 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, o projeto vai conter seu cluster do Cloud TPU.

Requisitos

Ativar APIs

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

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

Configurar o intervalo de IPs para o peering de VPC com os 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 pelo Google nesta rede VPC. O Cloud TPU é um dos serviços gerenciados do 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 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 de intervalo serão usados nas próximas etapas.

  • subnet será a sub-rede no network do seu 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 pelo GKE Services em subnet.

Criar um cluster do GKE com a 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 da especificação do pod no guia Executar aplicativos do Cloud TPU no GKE para criar um job que use 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 IPs de peering reservado.

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