Resolver problemas ao criar um cluster de usuário no Console do Google Cloud

Nesta página, mostramos como investigar problemas criando um cluster de usuário do GKE em VMware no console do Google Cloud.

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 hub memberships register.

Verifique o status do registro:

  • No Console do Google Cloud, acesse a página Anthos > Clusters e selecione o mesmo projeto do Google Cloud em que você tentou criar o cluster de usuário.

    Acesse a página de clusters do GKE Enterprise

    • 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 comando gcloud não registra clusters de administrador corretamente.

Para corrigir o problema no registro, faça o seguinte:

  1. Na estação de trabalho do administrador, veja o nome do registro:

    kubectl describe membership membership \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
  2. Cancele o registro do cluster de administrador. No comando a seguir, substitua:

    • MEMBERSHIP_NAME pelo nome exibido no comando anterior.
    • FLEET_HOST_PROJECT_ID pelo ID do projeto host da frota. Esse é o projeto que você selecionou ao tentar criar o cluster de usuário no Console do Google Cloud.
    • ADMIN_CLUSTER_KUBECONFIG pelo caminho do arquivo kubeconfig do cluster de administrador;
    • ADMIN_CLUSTER_CONTEXT pelo contexto do cluster de administrador, conforme aparece no arquivo kubeconfig. É possível conseguir esse valor a partir da linha de comando executando kubectl config current-context.
    gcloud container fleet memberships unregister MEMBERSHIP_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --kubeconfig=ADMIN_CLUSTER_KUBECONFIG \
      --context=ADMIN_CLUSTER_CONTEXT
    
  3. 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 de recurso já existente

A criação do cluster de usuário falha e exibe uma mensagem de erro semelhante a esta:

Resource 'projects/1234567890/locations/europe-west1/vmwareClusters/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 o problema:

  1. Exclua o cluster.

  2. 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:

  1. No console do Google Cloud, acesse a página de clusters do GKE Enterprise.

    Acesse a página de clusters do GKE Enterprise

  2. Selecione o projeto do Cloud em que o cluster de usuário está.

  3. Na lista de cluster, clique no nome dele e em Ver detalhes no painel Detalhes.

  4. Na seção Recursos, clique em Editar.

  5. Desmarque Ativar grupos antiafinidade e clique em Concluído.

  6. 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"

No momento, 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, faça o seguinte:

  1. Exclua o cluster.

  2. Crie o cluster novamente com endereços IP que não entrem em conflito com um cluster atual.

A exclusão do cluster não remove o cluster do Console do Cloud

Depois de excluir um cluster de usuário, ele ainda será exibido no Console do Google Cloud. Isso pode acontecer quando o cluster de usuário perde conectividade com o cluster de administrador. Para corrigir esse problema, siga as etapas em Remover recursos da API Anthos On-Prem.

Remover recursos da API GKE On-Prem

O Console do Google Cloud usa a API GKE On-Prem para gerenciar o ciclo de vida do cluster de usuários. Também é possível configurar clusters de usuários para serem gerenciados pela API GKE On-Prem. Os recursos da API GKE On-Prem não são excluídos nos seguintes casos:

  • gkectl foi usado para excluir um pool de nós para um cluster de usuários gerenciado pela API GKE On-Prem.

  • O cluster de administrador de um cluster de usuário criado no Console do Cloud é excluído.

Quando os recursos da API GKE On-Prem não são excluídos, o cluster de usuário ainda é exibido no Console do Google Cloud em um estado não íntegro. Siga as etapas a seguir para remover os recursos restantes.

  1. Configure as variáveis de ambiente a seguir:

    export PROJECT_ID=FLEET_HOST_PROJECT_ID
    export REGION=REGION
    export CLUSTER_NAME=USER_CLUSTER_NAME
    

    Substitua:

    • FLEET_HOST_PROJECT_ID: o ID do projeto em que o cluster de usuário foi criado, que também é o projeto host da frota.

    • REGION: a região do cluster. A região é exibida no console, no painel Detalhes do cluster no campo Local.

    • USER_CLUSTER_NAME: o nome do cluster.

  2. Se o pool de nós do cluster de usuário foi excluído, o cluster ainda está registrado em uma frota. Exclua a assinatura da frota do cluster de usuário executando o seguinte comando:

    gcloud container fleet memberships delete USER_CLUSTER_NAME
    

    Se o cluster de administrador foi excluído, ele ainda está registrado em uma frota. Exclua a assinatura da frota do cluster de administrador executando o seguinte comando:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME
    

    Consulte gcloud command reference para detalhes.

  3. Exclua os metadados da API GKE On-Prem:

    curl -X DELETE "https://gkeonprem.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/vmwareClusters/${CLUSTER_NAME}:unenroll?force=true&allow_missing=true" \
    -H "Content-Type: application/json" \
    -H "X-GFE-SSL: yes" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"