Como excluir um cluster de usuário

Nesta página, descrevemos como excluir um usuário do Google Distributed Cloud aglomerado. A exclusão do cluster de usuário cancela o registro do cluster da frota e exclui as cargas de trabalho, os pools de nós, os nós do plano de controle e os recursos correspondentes, como VMs, partições F5 e discos de dados.

Escolha uma ferramenta para excluir um cluster

A maneira como você exclui um cluster de usuário depende se o cluster está inscrito na API GKE On-Prem. Um cluster de usuário será registrado na API GKE On-Prem se uma das seguintes condições for verdadeira:

  • O cluster foi criado usando o console do Google Cloud, a CLI do Google Cloud (gcloud CLI) ou Terraform, que registra automaticamente o cluster na API GKE On-Prem. Coletivamente, esses aplicativos padrão são chamados de clientes da API GKE On-Prem.

  • O cluster foi criado usando 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 excluir o cluster. Se o cluster não estiver inscrito na API GKE On-Prem, use gkectl na estação de trabalho de administrador para excluir o cluster.

Para encontrar todos os clusters de usuário inscritos na API GKE On-Prem em um projeto específico, execute o seguinte comando:

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

O resultado será assim:

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

Quando você define --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.

Se o cluster estiver listado, ele estará inscrito na API GKE On-Prem. Se você não for proprietário de um projeto, precisa ter, no mínimo, o papel de gerenciamento de identidade e acesso roles/gkeonprem.admin no projeto para excluir clusters inscritos. Para ver detalhes sobre as permissões incluídas nesse papel, consulte Papéis da API GKE On-Prem na documentação do IAM.

Excluir cargas de trabalho com estado

Antes de excluir o cluster, exclua as cargas de trabalho stateful, os PVCs e os PVs executando kubectl delete.

Excluir um cluster de usuário

gkectl

É possível usar gkectl para excluir 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 de serviço da API GKE On-Prem), gkectl poderá para excluir clusters inscritos.

Execute o seguinte comando na estação de trabalho do administrador para excluir o cluster:

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

onde

  • ADMIN_CLUSTER_KUBECONFIG é o caminho para o arquivo kubeconfig do cluster de administrador.
  • CLUSTER_NAME é o nome do cluster de usuário que você quer excluir.

Se a exclusã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

Isso significa que o cluster está inscrito, mas gkectl não conseguiu acessar a API GKE On-Prem. Nesse caso, a maneira mais fácil de fazer isso é usar um cliente da API GKE On-Prem para excluir o cluster.

Se a exclusão do cluster de usuário falhar na metade, você poderá executar gkectl com a sinalização --force para ignorar o erro e continuar a exclusão.

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

Se você estiver usando o balanceador de carga em pacote Seesaw, exclua o balanceador de carga.

Console

Se o cluster de usuário for gerenciado pela API GKE On-Prem, siga as etapas abaixo para excluí-lo:

  1. No console, acesse a página Visão geral dos clusters do Google Kubernetes Engine.

    Acesse os clusters do GKE

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

  3. Na lista de clusters, clique no cluster que você quer editar. Se o Tipo for externo, isso indica que o cluster foi criado usando gkectl e não foi registrado na API GKE On-Prem. Nesse caso, siga as etapas na guia gkectl para excluir o cluster.

    Se o ícone na coluna Status indicar um problema, siga as etapas na guia da CLI gcloud para excluir o cluster. Você vai precisar adicionar a flag --ignore-errors ao comando de exclusão.

  4. Clique no nome da programação que você quer excluir.

  5. No painel Details, perto da parte de cima da janela, clique em Delete.

  6. Quando sua confirmação for solicitada, insira o nome do cluster e clique em Remover.

CLI da gcloud

Se o cluster de usuário for gerenciado pela API GKE On-Prem, faça o seguinte em um computador que tenha a CLI gcloud instalada:

  1. Atualize os componentes:

    gcloud components update
    
  2. Use o comando a seguir para excluir o cluster:

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

    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.

    • LOCATION: o local do Google Cloud associado ao cluster de usuário.

    A sinalização --force permite excluir um cluster que tenha 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 sinalização --allow-missing é uma sinalização padrão da API do Google. Ao incluir essa sinalização, o comando retornará que a operação foi bem-sucedida, se o cluster não for encontrado.

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

    • Se você acha que o problema de conectividade é temporário, por exemplo, por causa de problemas de rede, aguarde e execute o comando novamente.

    • Se a tentativa de comando continuar a falhar, consulte Como coletar registros do agente do Connect para resolver problemas com o agente.

    • Se você souber que o cluster de administrador foi excluído e se as VMs do administrador ou do cluster de usuário tiverem sido encerradas ou estiverem inacessíveis, inclua a sinalização --ignore-errors e tente executar o comando novamente.

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

Limpar recursos

Se houve problemas quando você excluiu o cluster, alguns recursos F5 ou vSphere podem ser deixados para trás. As seções a seguir explicam como limpar esses recursos restantes.

Como limpar as VMs de um cluster de usuário no vSphere

Para verificar se as VMs do cluster de usuário foram excluídas, execute as seguintes etapas:

  1. No menu Navigator do lado esquerdo do Cliente da Web do vSphere, clique no menu Hosts and Clusters.

  2. Encontre o pool de recursos do cluster de administrador. Esse é o valor de vCenter.resourcePool no arquivo de configuração do cluster de administrador.

  3. No pool de recursos, localize as VMs com o prefixo do nome do seu cluster de usuário. Esses são os nós do plano de controle do cluster de usuário. Haverá um ou três deles dependendo se o cluster de usuário tem um plano de controle de alta disponibilidade.

  4. Encontre o pool de recursos do seu cluster de usuário. Esse é o valor de vCenter.resourcePool no arquivo de configuração do cluster de usuário. Se o arquivo de configuração do cluster de usuário não especificar um pool de recursos, ele será herdado do cluster de administrador.

  5. No pool de recursos, localize as VMs com o prefixo do nome de um pool de nós no cluster de usuário. Esses são os nós de trabalho no cluster de usuário.

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

    1. No vSphere Web Client, clique com o botão direito do mouse na VM e selecione Power > Power Off.

    2. Quando a VM estiver desativada, clique com o botão direito na VM e selecione Delete from Disk.

Como limpar a partição F5 de um cluster de usuário

Se houver entradas restantes na partição do cluster de usuário, execute as seguintes etapas:

  1. No console F5 BIG-IP, no canto superior direito do console, alterne para a partição do cluster de usuário que você quer limpar.
  2. Selecione Local Traffic > Virtual Servers > Virtual Server List.
  3. No menu Virtual Servers, remova todos os IPs virtuais.
  4. Selecione Pools e exclua todos os pools.
  5. Selecione Nodes e exclua todos os nós.

Depois de terminar

Depois que o cluster for excluído, será possível excluir o kubeconfig dele.