Cluster do GKE com a Cloud TPU usando uma VPC compartilhada

Neste guia, descrevemos como:

Conceitos

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

  • Projeto host: um projeto que contém uma ou mais redes VPC compartilhadas. 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. Este anexo permite que ele participe na VPC compartilhada. Neste guia, este projeto vai conter 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 IP para 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 do Google na 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 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 do peering de VPC. uma conexão com a Internet. 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. O intervalo serão usados nas etapas a seguir.

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

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

  • tier-2-name será o nome do intervalo secundário usado pelo Serviços do GKE 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 das especificações de pods no guia Execute 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 IPs de peering reservado.

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