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
- Se quiser que o cluster registado tenha a federação de identidade da força de trabalho da frota ativada (recomendado), certifique-se de que a federação de identidade da força de trabalho para o GKE está ativada no cluster. Os clusters do Autopilot têm a federação de identidade da carga de trabalho para o GKE ativada por predefinição.
- Se estiver a registar um cluster numa frota num projeto diferente (também conhecido como registo entre projetos), certifique-se de que configurou as autorizações necessárias.
- Se estiver a registar um cluster através do Terraform ou do Config Connector, certifique-se de que configurou uma Google Cloud conta de serviço para a ferramenta e a configurou para que a ferramenta possa autenticar-se em Google Cloud:
Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute
gcloud components update
para obter a versão mais recente.
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
Na Google Cloud consola, aceda à página de criação do cluster relevante.
Para criar um cluster do Autopilot, aceda à página Crie um cluster do Autopilot.
Para criar um cluster regional padrão ou zonal padrão, aceda à página Crie um cluster do Kubernetes.
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.
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.
Preencha as secções restantes.
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.
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.
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.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 recursogoogle_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.
Na Google Cloud consola, aceda à página Clusters do GKE.
Clique em Registar junto ao cluster não registado que quer adicionar à sua frota.
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.
- Substitua
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
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.
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.
Ative a Workload Identity Federation para o GKE adicionando o seguinte no campo
spec
do recursoContainerCluster
. Tem de o fazer para clusters novos e existentes.spec: workloadIdentityConfig: workloadPool: PROJECT_ID.svc.id.goog
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.
Ative a federação de identidade da carga de trabalho da frota adicionando o seguinte no campo
spec
do bloco de recursosGKEHubMembership
.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?
- Valide o registo bem-sucedido do cluster e obtenha outros detalhes da subscrição da frota, conforme descrito em Obtenha o estado da subscrição da frota
- Configure a autenticação para clusters registados:
- Inicie sessão num cluster a partir da Google Cloud consola