Cluster do GKE com o Cloud TPU usando uma VPC compartilhada

Neste guia, descrevemos como:

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 vai incluir sua VPC compartilhada.

  • Projeto de serviço: um projeto anexado a um projeto host por um administrador de VPC compartilhada. Com esse anexo, o projeto pode participar da VPC compartilhada. Neste guia, este projeto conterá o cluster do Cloud TPU.

Requisitos

Ative as 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 o 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 nessa rede VPC. O Cloud TPU é um dos serviços gerenciados pelo Google.

  1. Liste os intervalos de IP atuais 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 da conexão de peering VPC. O nome vai 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 de 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 network do projeto host.

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

  • tier-2-name é 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 sua 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 de especificação 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 Limpeza em Como configurar clusters com a VPC compartilhada para excluir o cluster e os recursos de rede.