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.

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

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 bare-metal 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.

      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 bare-metal 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 bare-metal admin-clusters unenroll ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=REGION \
     --allow-missing --ignore-errors 
    

    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.

    A sinalização --ignore-errors remove os recursos do Google Cloud quando os clusters de administrador e usuário estão inacessíveis.

    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.