Registe um cluster em Google Cloud na sua frota

Esta página mostra como adicionar um cluster do GKE na Google Cloud à sua frota. Consoante o seu projeto e exemplo de utilização, pode usar a Google Cloud consola, o Terraform, o Config Connector ou a CLI Google Cloud para o registo. Também pode criar e registar um novo cluster num único passo através da Google Cloud CLI, da Google Cloud consola ou do Terraform.

Antes de começar

Certifique-se de que seguiu os pré-requisitos gerais para registar um cluster. Também recomendamos que reveja as restrições gerais no registo de clusters em Plan fleet resources.

Consoante o seu exemplo de utilização, os registos do cluster do GKE também podem exigir o seguinte: Google Cloud

Registe o seu cluster do GKE no Google Cloud

Como viu nos pré-requisitos, recomendamos que registe os seus clusters do GKE com a Federação de identidades de cargas de trabalho da frota para o GKE ativada, o que oferece uma forma consistente de as aplicações se autenticarem em Google Cloud APIs e serviços. Pode saber mais sobre as vantagens de ativar a Workload Identity Federation da frota para o GKE em Use a Workload Identity Federation da frota para o GKE. O registo de clusters através de qualquer uma das seguintes opções permite-lhe ativar a Federação do Workload Identity da frota para o GKE, se necessário.

Pode optar por registar um novo cluster durante a criação do cluster ou registar um cluster existente.

Registe um novo cluster

Pode registar clusters durante a criação de clusters através das seguintes instruções.

Consola

  1. Na Google Cloud consola, aceda à página de criação do cluster relevante.

  2. Siga as instruções na documentação do GKE para concluir as secções de criação de um cluster Autopilot, regional padrão ou zonal padrão a partir da Google Cloud consola.

  3. Na secção Registo de frotas, selecione a caixa de verificação Registar-se numa frota. Por predefinição, o nome da frota baseia-se no ID do projeto.

  4. Preencha as secções restantes.

  5. Se optou por criar um cluster padrão e quer que o cluster registado use a Workload Identity Federation da frota (recomendado), clique em Segurança no painel de navegação e certifique-se de que a opção Ativar Workload Identity Federation para o GKE está selecionada. Os clusters do Autopilot têm esta funcionalidade ativada por predefinição.

  6. Quando terminar de rever os detalhes do cluster, clique em Criar para criar e registar o cluster numa frota.

gcloud

Estes comandos requerem a versão 450.0.0 ou superior da CLI gcloud.

O registo de um cluster através da CLI do Google Cloud atribui ao cluster uma localização de associação regional por predefinição.

  • Para criar e registar um novo cluster do GKE Autopilot, execute o seguinte comando:

    gcloud container clusters create-auto CLUSTER_NAME --enable-fleet
    

    Substitua CLUSTER_NAME por um nome exclusivo para o cluster que está a criar. Este também se torna o nome de membro do cluster. Se já existir um cluster com este nome na frota escolhida, o comando devolve um erro.

  • Para criar e registar um novo cluster do GKE Autopilot como leve, execute o seguinte comando:

    gcloud container clusters create-auto CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
    
  • Para criar e registar um novo cluster padrão do GKE com a Workload Identity Federation para o GKE ativada, execute o seguinte comando:

    gcloud container clusters create CLUSTER_NAME --enable-fleet \
    --workload-pool=PROJECT_ID.svc.id.goog
    

    Substitua o seguinte:

    • CLUSTER_NAME: um nome exclusivo para o cluster que está a criar. Este também se torna o nome de membro do cluster. Se já existir um cluster com este nome na frota escolhida, o comando devolve um erro.
    • PROJECT_ID: o Google Cloud ID do projeto do projeto que vai ser proprietário do novo cluster.

    Se estiver a criar um cluster padrão, recomendamos que o crie com a federação de identidade da carga de trabalho para o GKE ativada, uma vez que isto ativa a federação de identidade da carga de trabalho da frota para o cluster registado. No entanto, pode omitir a flag --workload-pool se não quiser usar esta funcionalidade. Os clusters do Autopilot têm a federação de identidade da carga de trabalho para o GKE ativada por predefinição.

  • Para criar e registar um novo cluster padrão do GKE como leve, execute o seguinte comando:

    gcloud container clusters create CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
    

Consoante o cluster que quer criar, também pode especificar qualquer uma das outras opções para criar um cluster zonal padrão, regional padrão ou Autopilot. Também pode ter de especificar uma zona do Compute Engine se não tiver configurado uma zona predefinida para a CLI Google Cloud e um Google Cloud projeto para ser proprietário do cluster se não tiver configurado um projeto predefinido.

Saiba como criar diferentes tipos de clusters do GKE na documentação do GKE.

Terraform

Pode criar e registar clusters do GKE com o Terraform através do fornecedor google. Pode encontrar uma referência completa para o recurso google_container_cluster usado para gerir um cluster do GKE no registo do Terraform.

Certifique-se de que criou uma conta de serviço para o Terraform usar, conforme descrito nos pré-requisitos, antes de seguir estas instruções.

Para criar e registar um novo cluster, adicione os seguintes blocos na configuração do Terraform.

  1. Especifique o fornecedor google como um fornecedor obrigatório:

    terraform {
      required_providers {
        google = {
          source = "hashicorp/google"
          version = "VERSION"
        }
      }
    }
    

    Substitua VERSION pela versão 5.6.0 ou posterior.

  2. Crie e registe um novo cluster:

    resource "google_container_cluster" "TF_CLUSTER_RESOURCE_NAME" {
      provider = google
      name               = "CLUSTER_NAME"
      location           = "ZONE"
      initial_node_count = 1
      fleet {
        project = "FLEET_HOST_PROJECT"
      }
    }
    

    Substitua o seguinte:

    • TF_CLUSTER_RESOURCE_NAME: um nome exclusivo para o novo recurso google_container_cluster que está a criar.
    • CLUSTER_NAME: um nome exclusivo para o novo cluster do GKE que quer criar e registar.
    • ZONE: a zona do recurso do cluster do GKE. Por exemplo: us-central1-a.
    • FLEET_HOST_PROJECT: o Google Cloud ID do projeto no qual está a criar e registar o cluster. Se esta opção não estiver definida, o cluster não é registado numa frota. Especifique um ID do projeto diferente se quiser registar o cluster numa frota num projeto diferente.

Registe um cluster existente

Use qualquer uma das seguintes opções para registar clusters existentes, quer na frota do respetivo projeto, quer numa frota num projeto diferente (todas as opções, exceto a Google Cloud consola).

Para registar um cluster do GKE existente:

Consola

Se quiser que o cluster use a federação do Workload Identity da frota (recomendado), certifique-se de que a federação do Workload Identity para o GKE está ativada no cluster antes de seguir estas instruções. Os clusters do Autopilot têm a federação de identidade da carga de trabalho para o GKE ativada por predefinição. Os clusters com a federação de identidade da carga de trabalho para o GKE têm automaticamente a federação de identidade da carga de trabalho da frota ativada quando os regista a partir da Google Cloud consola.

  1. Na Google Cloud consola, aceda à página Clusters do GKE.

    Aceda à página Clusters do GKE

  2. Clique em Registar junto ao cluster não registado que quer adicionar à sua frota.

  3. Clique novamente em Registar na caixa de diálogo de confirmação apresentada.

gcloud

Estes comandos requerem a versão 450.0.0 ou superior da CLI gcloud.

O registo de um cluster através da CLI do Google Cloud atribui ao cluster uma localização de associação regional por predefinição.

Ambos os comandos ativam a federação de identidade da carga de trabalho da frota para o cluster se o cluster já tiver a federação de identidade da carga de trabalho para o GKE ativada.

  • Para registar um cluster do GKE existente na Google Cloud frota do respetivo projeto, execute o seguinte comando:

    gcloud container clusters update CLUSTER_NAME --enable-fleet
    

    Substitua CLUSTER_NAME pelo nome do cluster que está a registar. Este também se torna o nome de membro do cluster.

  • Para registar um cluster do GKE existente na Google Cloud frota do respetivo projeto como simples, execute o seguinte comando:

    gcloud container clusters update CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
    
  • Para registar o cluster numa frota num projeto diferente, use a flag --fleet-project, conforme mostrado no comando seguinte. Certifique-se de que configurou as autorizações necessárias para o registo entre projetos antes de executar este comando.

    gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER
    
    • Substitua CLUSTER_NAME pelo nome do cluster que está a registar. Este também se torna o nome de membro do cluster.
    • Substitua PROJECT_ID_OR_NUMBER pelo ID ou número do projeto anfitrião da frota escolhido.
  • Para registar o cluster numa frota num projeto diferente como leve, use a flag --fleet-project, conforme mostrado no comando seguinte. Certifique-se de que configurou as autorizações necessárias para o registo entre projetos antes de executar este comando.

    gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER /
    --membership-type=LIGHTWEIGHT
    

Terraform

Pode registar clusters do GKE com o Terraform através do fornecedor google. Pode encontrar uma referência completa para o recurso google_container_cluster usado para gerir um cluster do GKE no registo do Terraform.

Certifique-se de que criou uma conta de serviço para o Terraform usar, conforme descrito nos pré-requisitos, antes de seguir estas instruções.

Registe um cluster existente

Para registar um cluster existente, adicione o seguinte bloco à configuração do recurso google_container_cluster do seu cluster:

fleet {
        project = "FLEET_HOST_PROJECT"
      }

Substitua FLEET_HOST_PROJECT pelo Google Cloud ID do projeto ao qual o cluster pertence ou um ID do projeto diferente se quiser registar o cluster numa frota num projeto diferente.

Ative a Workload Identity Federation para o GKE num cluster registado

Pode usar o Terraform para ativar a Workload Identity Federation para o GKE para um cluster.

Para ativar a Workload Identity Federation para o GKE para o seu cluster novo ou existente, adicione o seguinte bloco na configuração de recursos google_container_cluster do cluster relevante:

  workload_identity_config {
    workload_pool = "PROJECT_ID.svc.id.goog"
  }
  ```

 Replace <code><var>PROJECT_ID</var></code> with the Google Cloud project ID for your Terraform resources.

Config Connector

Se tiver o suplemento Config Connector instalado, pode usar o Config Connector para registar clusters do GKE. Certifique-se de que tem uma versão do Config Connector superior a 1.47.0 e que criou uma conta de serviço, conforme descrito nos pré-requisitos.

Pode encontrar uma referência completa para o recurso GKEHubMembership na documentação de referência do Config Connector.

Registe um cluster do GKE

Para registar o cluster, primeiro, especifique onde quer criar os seus recursos, seguindo as instruções no guia do Config Connector. Em seguida, crie um ficheiro YAML para registar e (opcionalmente) criar um cluster, da seguinte forma:

Crie e registe um cluster do GKE

  1. Crie um cluster do GKE, como no seguinte exemplo simples:

    apiVersion: container.cnrm.cloud.google.com/v1beta1
    kind: ContainerCluster
    metadata:
      name: CLUSTER_NAME
    spec:
      location: LOCATION
      initialNodeCount: 1
    

    Substitua o seguinte:

    • CLUSTER_NAME: o nome que escolheu para representar de forma única o cluster que criou com o Config Connector.
    • LOCATION: a zona ou a região que escolheu para aprovisionar o recurso do cluster do GKE. Por exemplo: us-central1-a.

    Para ver uma lista completa de opções ao criar um cluster do GKE com o Config Connector, consulte a documentação do Config Connector.

  2. Registe uma subscrição para o cluster do GKE.

    apiVersion: gkehub.cnrm.cloud.google.com/v1beta1
    kind: GKEHubMembership
    metadata:
      name: MEMBERSHIP_NAME
    spec:
      location: MEMBERSHIP_LOCATION
      endpoint:
        gkeCluster:
          resourceRef:
            name: CLUSTER_NAME
    

    Substitua o seguinte:

    • MEMBERSHIP_NAME: o nome do membro que escolheu para representar exclusivamente o cluster que está a ser registado na frota.
    • MEMBERSHIP_LOCATION: a localização do serviço Fleet que quer usar para gerir a associação do cluster. Pode ser a localização do próprio cluster (recomendado) ou global. Saiba mais em Localização de membros da frota. Não pode especificar uma localização diferente da localização do cluster. Se o fizer, o registo falha.
    • CLUSTER_NAME: o nome que escolheu para representar de forma única o cluster que criou com o Config Connector.

Registe o cluster num projeto diferente

Adicione o seguinte ao campo metadata do recurso GKEHubMembership para registar um cluster numa frota noutro projeto.

   metadata:
     annotations:
       cnrm.cloud.google.com/project-id: FLEET_PROJECT_ID

Substitua o seguinte:

  • FLEET_PROJECT_ID: o projeto anfitrião da frota que escolheu para registar o cluster do GKE.

Registe um cluster existente

Use a seguinte configuração se quiser registar qualquer cluster existente, independentemente da forma como foi criado. Neste caso, tem de especificar o nome completo do recurso do cluster para que o Config Connector o possa encontrar. Substitua o campo resourceRef do recurso GKEHubMembership por:

   resourceRef:
     external: //container.googleapis.com/CLUSTER_RESOURCE_NAME

Substitua o seguinte:

  • CLUSTER_RESOURCE_NAME: o Google Cloud nome do recurso do cluster do GKE. Por exemplo: projects/my-project/zones/us-west1-a/clusters/my-cluster.

Se o cluster foi criado com o Config Connector, não precisa de especificar o nome totalmente qualificado do cluster.

Ative a Workload Identity Federation para o GKE num cluster registado

A ativação da Workload Identity Federation para o GKE usa a mesma configuração que o registo de um cluster, com os seguintes passos adicionais.

  1. Ative a Workload Identity Federation para o GKE adicionando o seguinte no campo spec do recurso ContainerCluster. Tem de o fazer para clusters novos e existentes.

    spec:
      workloadIdentityConfig:
        workloadPool: PROJECT_ID.svc.id.goog
    

    Substitua o seguinte:

  2. Ative a federação de identidade da carga de trabalho da frota adicionando o seguinte no campo spec do bloco de recursos GKEHubMembership.

    spec:
      authority:
        issuer: https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME
    }
    

    Substitua o seguinte:

    • PROJECT_ID: o projeto predefinido que escolheu através da anotação do espaço de nomes para criar o recurso do cluster do GKE.
    • LOCATION: a zona ou a região que escolheu para aprovisionar o recurso do cluster do GKE. Por exemplo: us-central1-a.
    • CLUSTER_NAME: o nome que escolheu para representar de forma exclusiva o cluster que criou.

Resolução de problemas

Se tiver problemas durante esta configuração, consulte o nosso guia de resolução de problemas.

O que se segue?