Resolva problemas de clusters inscritos na API GKE On-Prem

Esta página mostra como investigar problemas na criação de um cluster de utilizadores do Google Distributed Cloud na Google Cloud consola.

A API GKE On-Prem é uma API alojada na Google Cloud que lhe permite gerir o ciclo de vida dos seus clusters no local através do Terraform e deGoogle Cloud ferramentas padrão. A API GKE On-Prem é executada na infraestrutura da Google. Google CloudO Terraform, a Google Cloud consola e a CLI Google Cloud são clientes da API e usam a API para criar, atualizar, fazer a atualização e eliminar clusters no seu centro de dados. Se criou o cluster através de um cliente padrão, o cluster está inscrito na API GKE On-Prem, o que significa que pode usar os clientes padrão para gerir o ciclo de vida do cluster (com algumas exceções).

O cluster de administrador não é apresentado na lista pendente Noções básicas do cluster

O cluster de administrador tem de estar registado numa frota antes de poder criar clusters de utilizadores na Google Cloud consola. Se não vir o cluster de administrador na lista pendente da secção Noções básicas do cluster na Google Cloud consola, o cluster de administrador não foi registado ou foi registado através do comando gcloud container fleet memberships register. Este comando gcloud não regista corretamente os clusters de administrador.

Verifique o estado do registo:

  • Na Google Cloud consola, aceda à página Kubernetes Engine > Clusters e selecione o mesmo Google Cloud projeto no qual tentou criar o cluster de utilizador.

    Aceda à página de clusters do GKE

    • Se o cluster de administrador não for apresentado na lista, consulte o artigo Registe um cluster de administrador.

    • Se o cluster de administrador for apresentado na lista, este comportamento indica que o cluster foi registado através do comando gcloud container hub memberships register. Este comando gcloud não regista corretamente os clusters de administrador.

Para corrigir o problema de registo, conclua os seguintes passos:

  1. Elimine a associação da 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 de anfitrião da frota. Este é o projeto que selecionou quando tentou criar o cluster de utilizadores na Google Cloud consola.
  2. Siga os passos em Registe um cluster de administrador para voltar a registar o cluster.

Erros de criação de clusters

Esta secção descreve alguns erros que ocorrem durante a criação de clusters na Google Cloud consola.

Erro de recurso já existente

A criação de clusters de utilizadores falha com uma mensagem de erro semelhante à seguinte:

Resource 'projects/1234567890/[...]/user-cluster1'
already exists
Request ID: 129290123128705826

Esta mensagem de erro indica que o nome do cluster já está a ser usado.

Uma solução para corrigir este problema é eliminar e recriar o cluster:

  1. Elimine o cluster.
  2. Crie novamente o cluster com outro nome que não entre em conflito com um cluster existente.

Erro de grupos de antiafinidade

A criação de clusters de utilizadores falha com uma mensagem de erro semelhante à seguinte:

- 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) requerem, pelo menos, 3 anfitriões físicos no seu ambiente vSphere. Para corrigir o problema, desative os grupos de antiafinidade na secção Funcionalidades da página Detalhes do cluster do cluster, da seguinte forma:

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

    Aceda à página de clusters do GKE

  2. Selecione o Google Cloud projeto no qual o cluster de utilizadores se encontra.

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

  4. Na secção Funcionalidades, clique em Editar.

  5. Desmarque a opção Ativar grupos de antiafinidade e clique em Concluído.

  6. A Google Cloud consola apresenta Estado do cluster: alterações em curso. Clique em Mostrar detalhes para ver a condição do estado do recurso e as mensagens de estado.

Erro de endereços IP em conflito

A criação de clusters de utilizadores falha com uma mensagem de erro semelhante à seguinte:

- 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 pode editar campos como o VIP do plano de controlo e o VIP de entrada na secção Equilibrador de carga da página Detalhes do cluster na Google Cloud consola. Para corrigir endereços IP em conflito, elimine e recrie o cluster:

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

Remova clusters não saudáveis

Um cluster pode ficar num estado não saudável por vários motivos, como:

  • Problemas de conetividade com o agente de ligação ou o ambiente nas instalações.
  • O cluster de administração de um cluster de utilizadores foi eliminado ou existem problemas de conetividade entre os clusters de administração e de utilizadores.
  • A VM do cluster foi eliminada antes da eliminação do cluster.

Se a consola não conseguir eliminar um cluster, use os comandos da CLI gcloud para eliminar recursos de clusters não íntegros. Google Cloud Se não atualizou a CLI gcloud recentemente, execute o seguinte comando para atualizar os componentes:

gcloud components update

Em seguida, elimine os Google Cloud recursos.

Cluster de utilizadores

  1. Elimine o grupo de utilizadores:

    gcloud container vmware clusters delete USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --force \
      --allow-missing \
      --ignore-errors

    Substitua o seguinte:

    • USER_CLUSTER_NAME: o nome do cluster de utilizadores a eliminar.

    • PROJECT_ID: o ID do projeto no qual o cluster está registado.

    • REGION: a localização Google Cloud associada ao cluster de utilizadores. A localização é apresentada na consola.

      A flag --force elimina um cluster com node pools. Sem a flag --force, tem de eliminar os conjuntos de nós primeiro e, em seguida, eliminar o cluster.

      O sinalizador --allow-missing permite que o comando continue se o cluster não for encontrado.

      A flag --ignore-errors remove Google Cloud recursos quando os clusters de administrador e de utilizador estão inacessíveis. Podem sobrar alguns recursos do F5 ou do vSphere. Consulte o artigo Limpe os recursos para obter informações sobre a limpeza dos recursos restantes.

      Este comando elimina o cluster, se existir, e remove os recursos da API GKE On-Prem e da associação à frota de Google Cloud.

  2. Confirme que os recursos da API GKE On-Prem foram eliminados:

    gcloud container vmware clusters list \
      --project=PROJECT_ID \
      --location=-

    Quando define --location=-, significa que quer listar todos os clusters em todas as regiões. Se precisar de restringir a lista, defina --location para uma região específica.

  3. Confirme que os recursos de membro da frota foram eliminados:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

Cluster de administrador

  1. Se inscreveu o cluster de administrador na API GKE On-Prem, cancele a inscrição:

    gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=REGION \
     --allow-missing 
    

    Substitua o seguinte:

    • ADMIN_CLUSTER_NAME: o nome do cluster de administrador.
    • PROJECT_ID: o ID do projeto anfitrião da frota.
    • REGION: a Google Cloud região.

    O sinalizador --allow-missing anula a inscrição do cluster se não for encontrada a associação à frota.

    Este comando remove os recursos da API GKE On-Prem de Google Cloud.

  2. Remova o cluster da frota:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=global

    Este comando remove os recursos de associação a frotas de Google Cloud.

  3. Confirme que os recursos da API GKE On-Prem foram eliminados:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
    

    Quando define --location=-, significa que quer listar todos os clusters em todas as regiões. Se precisar de restringir a lista, defina --location para uma região específica.

  4. Confirme que os recursos de membro da frota foram eliminados:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

O que se segue?

Se precisar de assistência adicional, contacte o apoio ao cliente do Google Cloud.

Também pode consultar o artigo Receber apoio técnico para mais informações sobre recursos de apoio técnico, incluindo o seguinte: