Esta página mostra como investigar problemas para criar um cluster de usuário do Google Distributed Cloud no console do Google Cloud.
A API GKE On-Prem é hospedada no Google Cloud e permite gerenciar o
ciclo de vida dos clusters locais usando o Terraform e ferramentas padrão
do Google Cloud. A API GKE On-Prem é executada no ambiente
infraestrutura. O Terraform, o console do Google Cloud e a Google Cloud CLI são
clientes da API e a usam para criar, atualizar, fazer upgrade e
excluir clusters no data center. Se você criou o cluster usando
um cliente padrão, o cluster estará registrado na API GKE On-Prem, o que
significa que é possível usar os clientes padrão para gerenciar o ciclo de vida do cluster
(com algumas exceções).
Se precisar de mais ajuda, entre em contato com o
Cloud Customer Care.
O cluster de administrador não é exibido na lista suspensa Princípios básicos do cluster.
O cluster de administrador precisa estar registrado em uma
frota para que você possa criar clusters de usuário no
Console do Google Cloud. Se o cluster de administrador não aparecer na
lista suspensa da seção Princípios básicos do cluster no Console do Google Cloud,
o cluster de administrador não foi registrado ou está registrado usando o
comando gcloud container fleet memberships register
. O comando gcloud
não registra
clusters de administrador corretamente.
Verifique o status do registro:
No console do Google Cloud, acesse a página Kubernetes Engine > Clusters e selecione o mesmo projeto do Google Cloud em que você tentou criar o usuário do cluster.
Acessar a página de clusters do GKE
Se o cluster de administrador não estiver na lista, consulte Registrar um cluster de administrador.
Se o cluster de administrador estiver na lista, isso indicará que o cluster foi registrado usando o comando
gcloud container hub memberships register
. O comandogcloud
não registra clusters de administrador corretamente.
Para corrigir o problema de registro, siga estas etapas:
Exclua a associação de frota do cluster de administrador.
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=global
ADMIN_CLUSTER_NAME
: o nome do cluster de administrador.PROJECT_ID
: o ID do seu projeto host da frota. Esse é o projeto que você selecionou ao tentar criar o cluster de usuário no Console do Google Cloud.
Siga as etapas em Registrar um cluster de administrador para registrar novamente o cluster.
Erros de criação de cluster
Nesta seção, descrevemos alguns erros que ocorrem durante a criação do cluster no Console do Google Cloud.
Erro "O recurso já existe"
A criação do cluster de usuário falha e exibe uma mensagem de erro semelhante a esta:
Resource 'projects/1234567890/[...]/user-cluster1'
already exists
Request ID: 129290123128705826
Essa mensagem de erro indica que o nome do cluster já está em uso.
Uma solução para corrigir isso é excluir e recriar o cluster:
- Exclua o cluster.
- Crie o cluster novamente com outro nome que não entre em conflito com um cluster atual.
Erro nos grupos de antiafinidade
A criação do cluster de usuário falha e exibe uma mensagem de erro semelhante a esta:
- Validation Category: VCenter
- [FATAL] Hosts for AntiAffinityGroups: Anti-affinity groups enabled with
available vsphere host number 1 less than 3, please add more vsphere hosts
or disable anti-affinity groups.
As regras de antiafinidade do VMware Distributed Resource Scheduler (DRS) exigem pelo menos três hosts físicos no ambiente do vSphere. Para corrigir o problema, desative os grupos de antiafinidade na seção Recursos da página Detalhes do cluster da seguinte forma:
No console do Google Cloud, acesse a página Clusters do GKE.
Selecione o projeto do Cloud em que o cluster de usuário está.
Na lista de cluster, clique no nome dele e em Ver detalhes no painel Detalhes.
Na seção Recursos, clique em
Editar.Desmarque Ativar grupos antiafinidade e clique em Concluído.
O Console do Google Cloud exibe Status do cluster: alterações em andamento. Clique em Mostrar detalhes para ver a Condição do status do recurso e as Mensagens de status.
Erro de endereços IP conflitantes
A criação do cluster de usuário falha e exibe uma mensagem de erro semelhante a esta:
- Validation Category: Network Configuration
- [FAILURE] CIDR, VIP and static IP (availability and overlapping): user: user
cluster control plane VIP "10.251.133.132" overlaps with
example-cluster1/control plane VIP "10.251.133.132"
Não é possível editar campos como o plano de controle VIP e a Entrada VIP na seção Balanceador de carga de Detalhes do cluster no Console do Google Cloud. Para corrigir endereços IP conflitantes, exclua e recrie o cluster:
- Exclua o cluster.
- Crie o cluster novamente com endereços IP que não entrem em conflito com um cluster atual.
Remover clusters não íntegros
Um cluster pode ficar em um estado não íntegro por vários motivos, como os seguintes:
- Problemas de conectividade com o agente do Connect ou com o ambiente local.
- O cluster de administrador de um cluster de usuário foi excluído ou há problemas de conectividade entre os clusters de administrador e de usuário.
- A VM do cluster foi excluída antes de excluir o cluster.
Se o console não conseguir excluir um cluster, use os comandos da gcloud CLI para excluir os recursos do Google Cloud de clusters não íntegros. Se você não atualizou a gcloud CLI recentemente, execute o comando para atualizar os componentes:
gcloud components update
Em seguida, exclua os recursos do Google Cloud.
Cluster de usuário
Exclua o cluster de usuário:
gcloud container vmware clusters delete USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --force \ --allow-missing \ --ignore-errors
Substitua:
USER_CLUSTER_NAME
: o nome do cluster de usuário a ser verificado.PROJECT_ID
: o ID do projeto em que o cluster está registrado.REGION
: o local do Google Cloud associado ao cluster de usuário. O local é exibido no console.A flag
--force
exclui um cluster que tem pools de nós. Sem a sinalização--force
, é necessário excluir os pools de nós primeiro e, em seguida, excluir o cluster.A flag
--allow-missing
permite que o comando continue se o cluster não for encontrado.A flag
--ignore-errors
remove os recursos do Google Cloud quando os clusters de administrador e de usuário estão inacessíveis. Alguns recursos do F5 ou do vSphere podem ser deixados para trás. Consulte Como limpar recursos para informações sobre como limpar os recursos restantes.Esse comando exclui o cluster (se ele existir) e remove a API GKE On-Prem e os recursos de assinatura de frota do Google Cloud.
Confirme se os recursos da API GKE On-Prem foram excluídos:
gcloud container vmware clusters list \ --project=PROJECT_ID \ --location=-
Definir
--location=-
significa listar todos os clusters em todas as regiões. Se você precisar reduzir o escopo da lista, defina--location
como uma região específica.Confirme se os recursos de assinatura de frota foram excluídos:
gcloud container fleet memberships list \ --project=PROJECT_ID
Cluster de administrador
Se você tiver registrado o cluster de administrador na API GKE On-Prem, cancele o registro:
gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --allow-missing
Substitua:
ADMIN_CLUSTER_NAME
: o nome do cluster de administrador.PROJECT_ID
: o ID do projeto host da frota.REGION
: a região do Google Cloud.
A sinalização
--allow-missing
cancela o registro do cluster se a assinatura de frota não for encontrada.Esse comando remove os recursos da API GKE On-Prem do Google Cloud.
Remova o cluster da frota:
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=global
Esse comando remove recursos de associação de frota do Google Cloud.
Confirme se os recursos da API GKE On-Prem foram excluídos:
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
Definir
--location=-
significa listar todos os clusters em todas as regiões. Se você precisar reduzir o escopo da lista, defina--location
como uma região específica.Confirme se os recursos de assinatura de frota foram excluídos:
gcloud container fleet memberships list \ --project=PROJECT_ID