Resolver problemas de clusters registrados na API GKE On-Prem

Nesta página, mostramos como investigar problemas para criar um cluster de usuário do Google Distributed Cloud no console do Google Cloud.

A API GKE On-Prem é uma API hospedada no Google Cloud que permite gerenciar o ciclo de vida dos clusters locais usando o Terraform e as ferramentas padrão do Google Cloud. A API GKE On-Prem é executada na infraestrutura do Google Cloud. 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, ele está inscrito 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. Este comando gcloud não registra corretamente os clusters de administrador.

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 for exibido na lista, esse comportamento indica que ele foi registrado usando o comando gcloud container hub memberships register. Este comando gcloud não registra corretamente clusters de administrador.

Para corrigir o problema de registro, siga estas etapas:

  1. 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.
  2. 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 de clusters 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:

  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"

Não é possível editar campos como o VIP do plano de controle e o VIP de entrada na seção Balanceador de carga da página Detalhes do cluster no Console do Google Cloud. Para corrigir endereços IP conflitantes, exclua e recrie o cluster:

  1. Exclua o cluster.
  2. 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

  1. 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 sinalização --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 sinalização --ignore-errors remove os recursos do Google Cloud quando os clusters de administrador e 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 associação de frota do Google Cloud.

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

  3. Confirme se os recursos de assinatura de frota foram excluídos:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

Cluster de administrador

  1. Se você registrou o cluster de administrador na API GKE On-Prem, cancele o registro dele:

    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.

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

  3. 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.

  4. Confirme se os recursos de assinatura de frota foram excluídos:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

A seguir

Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.