Eliminar um cluster de utilizadores

Esta página descreve como eliminar um cluster de utilizadores do Google Distributed Cloud. A eliminação do cluster de utilizadores anula o registo do cluster na frota e elimina as cargas de trabalho, os node pools, os nós do plano de controlo e os recursos correspondentes, como VMs, partições F5 e discos de dados.

Escolha uma ferramenta para eliminar um cluster

Se criou o cluster com enableAdvancedCluster definido como true (o que é necessário para configurar domínios de topologia), tem de usar gkectl para eliminar o cluster.

Caso contrário, a forma como elimina um cluster de utilizadores depende de o cluster estar inscrito na API GKE On-Prem. Um cluster de utilizadores está inscrito na API GKE On-Prem se uma das seguintes condições for verdadeira:

  • O cluster foi criado através da Google Cloud consola, da CLI do Google Cloud (CLI gcloud) ou do Terraform, que inscreve automaticamente o cluster na API GKE On-Prem. Em conjunto, estas ferramentas são denominadas clientes da API GKE On-Prem.

  • O cluster foi criado através do gkectl, mas foi inscrito na API GKE On-Prem.

Se o cluster estiver inscrito na API GKE On-Prem, use um cliente da API GKE On-Prem para eliminar o cluster. Se o cluster não estiver inscrito na API GKE On-Prem, use gkectl na estação de trabalho do administrador para eliminar o cluster.

Para encontrar todos os clusters de utilizadores inscritos na API GKE On-Prem num projeto específico, execute o seguinte comando:

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

O resultado é semelhante ao seguinte:

NAME                      LOCATION    VERSION             ADMIN_CLUSTER.            STATE
example-user-cluster-1a   us-west1    1.33.100-gke.89    example-admin-cluster-1   RUNNING

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

Se o cluster estiver listado, está inscrito na API GKE On-Prem. Se não for proprietário do projeto, tem de ter, no mínimo, a função de gestão de identidades e acessos roles/gkeonprem.admin no projeto para eliminar clusters inscritos. Para ver detalhes sobre as autorizações incluídas nesta função, consulte o artigo Funções da API GKE On-Prem na documentação da IAM.

Se estiver a usar o comando gkectl para eliminar um cluster, certifique-se de que a sua estação de trabalho de administrador tem a versão necessária do comando gkectl. Normalmente, usa a mesma versão do gkectl que a versão do cluster que está a eliminar. As seguintes regras de versão são aplicadas durante a eliminação:

  • A versão secundária gkectl não pode ser inferior à versão secundária do cluster. Por exemplo, não é permitido eliminar um cluster 1.30 com a versão 1.29.gkectl As versões de patch não são importantes. Por exemplo, pode usar a versão 1.29.0-gke.1456 para eliminar um cluster com uma versão de patch superior, como 1.29.1000-gke.94.gkectl

  • A versão secundária gkectl não pode ser mais de duas versões secundárias superior à versão do cluster. Por exemplo, se estiver a eliminar um cluster 1.28, a versão gkectl pode ser 1.29 ou 1.30. No entanto, não pode usar a versão 1.31 do gkectl porque é três versões secundárias superior à versão do cluster.

Se necessário, consulte Transferir gkectl para obter uma versão suportada do gkectl.

Elimine cargas de trabalho com estado

Antes de eliminar o cluster, elimine as cargas de trabalho com estado, os PVCs e os PVs executando kubectl delete.

Elimine um cluster de utilizadores

gkectl

Pode usar gkectl para eliminar clusters que não estão inscritos na API GKE On-Prem. Se as regras de firewall e proxy da sua organização permitirem que o tráfego alcance gkeonprem.googleapis.com e gkeonprem.mtls.googleapis.com (os nomes dos serviços da API GKE On-Prem), gkectl vai poder eliminar clusters inscritos.

Execute o seguinte comando na estação de trabalho de administração para eliminar o cluster:

gkectl delete cluster \
  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
  --cluster CLUSTER_NAME 

onde

  • ADMIN_CLUSTER_KUBECONFIG é o caminho para o ficheiro kubeconfig do cluster de administrador.
  • CLUSTER_NAME é o nome do cluster de utilizadores que quer eliminar.

Se a eliminação falhar com uma mensagem semelhante à seguinte:

Exit with error:
...
failed to unenroll user cluster CLUSTER_NAME
failed to create GKE On-Prem API client

Isto significa que o cluster está inscrito, mas gkectl não conseguiu alcançar a API GKE On-Prem. Neste caso, a forma mais fácil de o fazer é usar um cliente da API GKE On-Prem para eliminar o cluster.

Se a eliminação do cluster de utilizadores falhar a meio, pode executar gkectl com a flag --force para ignorar o erro a meio e continuar a eliminação.

gkectl delete cluster \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--cluster CLUSTER_NAME \
--force

Se eliminou um cluster que usava o equilibrador de carga do Seesaw, elimine as VMs do Seesaw. Pode fazê-lo eliminando as VMs do Seesaw na interface do utilizador do vSphere.

Consola

Se o cluster de utilizadores for gerido pela API GKE On-Prem, siga os passos abaixo para eliminar o cluster:

  1. Na consola, aceda à página Vista geral dos clusters do Google Kubernetes Engine.

    Aceda aos clusters do GKE

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

  3. Na lista de clusters, localize o cluster que quer eliminar. Se o Tipo for externo, isto indica que o cluster foi criado através do gkectl e não foi inscrito na API GKE On-Prem. Neste caso, siga os passos no separador gkectl para eliminar o cluster.

    Se o ícone na coluna Estado indicar um problema, siga os passos no separador da CLI gcloud para eliminar o cluster. Tem de adicionar o sinalizador --ignore-errors ao comando de eliminação.

  4. Clique no nome do cluster que quer eliminar.

  5. No painel Detalhes, perto da parte superior da janela, clique em Eliminar.

  6. Quando lhe for pedido que confirme, introduza o nome do cluster e clique em Remover.

CLI gcloud

Se o cluster de utilizadores for gerido pela API GKE On-Prem, faça o seguinte num computador com a CLI gcloud instalada:

  1. Atualize os componentes:

    gcloud components update
    
  2. Use o seguinte comando para eliminar o cluster:

    gcloud container vmware clusters delete USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=LOCATION \
      --force \
      --allow-missing
    

    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.

    • LOCATION: a localização Google Cloud associada ao cluster de utilizadores.

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

    A flag --allow-missing é uma flag da API Google padrão. Quando inclui esta flag, o comando devolve êxito se o cluster não for encontrado.

    Se o comando devolver um erro que contenha o texto failed connecting to the cluster's control plane, isto indica problemas de conetividade com o cluster de administrador, o agente Connect ou o ambiente no local.

    • Se considerar que o problema de conetividade é transitório, por exemplo, devido a problemas de rede, aguarde e tente novamente o comando.

    • Se a repetição do comando continuar a falhar, consulte o artigo Recolher registos do agente Connect para resolver problemas com o agente Connect.

    • Se souber que o cluster de administrador foi eliminado ou se as VMs do cluster de administrador ou de utilizador foram encerradas ou estão inacessíveis, inclua a flag --ignore-errors e tente novamente o comando.

Para obter informações sobre outras flags, consulte a referência da CLI gcloud.

Limpe recursos

Se tiverem ocorrido problemas quando eliminou o cluster, podem ter ficado alguns recursos do F5 ou do vSphere. As secções seguintes explicam como limpar estes recursos restantes.

Limpe as VMs de um cluster de utilizadores no vSphere

Para verificar se as VMs do cluster de utilizadores foram eliminadas, siga estes passos:

  1. No menu Navegador do lado esquerdo do vSphere Web Client, clique no menu Hosts and Clusters.

  2. Encontre o conjunto de recursos do cluster de administrador. Este é o valor de vCenter.resourcePool no ficheiro de configuração do cluster de administrador.

  3. No conjunto de recursos, localize as VMs com o prefixo do nome do cluster de utilizadores. Estes são os nós do plano de controlo do cluster de utilizadores. Existem uma ou três destas dependendo se o cluster de utilizadores tem um plano de controlo de alta disponibilidade.

  4. Encontre o conjunto de recursos do cluster de utilizadores. Este é o valor de vCenter.resourcePool no ficheiro de configuração do cluster de utilizadores. Se o ficheiro de configuração do cluster de utilizadores não especificar um conjunto de recursos, este é herdado do cluster de administrador.

  5. No conjunto de recursos, localize as VMs com o prefixo do nome de um conjunto de nós no cluster de utilizador. Estes são os nós de trabalho no seu cluster de utilizadores.

  6. Para cada nó do plano de controlo e cada nó de trabalho:

    1. No vSphere Web Client, clique com o botão direito do rato na VM e selecione Ligar/desligar > Desligar.

    2. Depois de desligar a VM, clique com o botão direito do rato na VM e selecione Eliminar do disco.

Limpe a partição F5 de um cluster de utilizadores

Se ainda existirem entradas na partição do cluster de utilizadores, siga os passos abaixo:

  1. Na consola F5 BIG-IP, no canto superior direito da consola, mude para a partição do cluster de utilizadores que quer limpar.
  2. Selecione Tráfego local > Servidores virtuais > Lista de servidores virtuais.
  3. No menu Servidores virtuais, remova todos os IPs virtuais.
  4. Selecione Conjuntos e, de seguida, elimine todos os conjuntos.
  5. Selecione Nós e, de seguida, elimine todos os nós.

Depois de terminar

Depois de eliminar o cluster, pode eliminar o kubeconfig do cluster de utilizadores.