Como excluir um cluster de usuário

Nesta página, descrevemos como excluir um cluster de usuário do GKE no VMware. 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 Anthos On-Prem. Um cluster de usuário será registrado na API Anthos On-Prem se uma das seguintes condições for verdadeira:

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

  • O cluster foi criado usando gkectl, mas foi inscrito na API Anthos On-Prem.

Se o cluster estiver inscrito na API Anthos On-Prem, use um cliente da API Anthos Prem para excluí-lo. Se o cluster não estiver inscrito na API Anthos 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 Anthos On-Prem em um projeto específico, execute o seguinte comando:

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

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 Anthos 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 do GKE On-Prem na documentação do IAM.

Excluir cargas de trabalho com estado

Antes de excluir o cluster, execute kubectl delete para excluir cargas de trabalho com estado, PVCs e PVs.

Excluir um cluster de usuário

gkectl

É possível usar gkectl para excluir clusters que não estão inscritos na API Anthos 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 Anthos 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 Anthos On-Prem. Nesse caso, a maneira mais fácil de fazer isso é usar um cliente da API Anthos 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 do Google Cloud

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

  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 clusters, clique no cluster que você quer editar.

  4. No painel Detalhes, se o Tipo for vm Anthos (VMware), siga as etapas a seguir para excluir o cluster usando o console do Google Cloud:

    1. No painel Detalhes, clique em Mais detalhes.

    2. Próximo à parte superior da janela, clique em Excluir.

    3. Quando solicitado a confirmar, clique em Excluir novamente.

    Se o Tipo for externo, isso indicará que o cluster foi criado usando gkectl. Nesse caso, use gkectl para excluir o cluster.

CLI da gcloud

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

  1. Faça login com sua Conta do Google:

    gcloud auth login
    
  2. Atualize os componentes:

    gcloud components update
    
  3. Receba uma lista de clusters para garantir que seja especificado o nome correto do cluster no comando de exclusão:

    gcloud container vmware clusters list \
      --project=FLEET_HOST_PROJECT_ID \
      --location=LOCATION
    

    Substitua:

    • FLEET_HOST_PROJECT_ID: o ID do projeto em que o cluster está registrado.

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

    O resultado será assim:

    NAME                      LOCATION    VERSION          ADMIN_CLUSTER.            STATE
    example-user-cluster-1a   us-west1    1.14.1-gke.39    example-admin-cluster-1   RUNNING
    
  4. Use o comando a seguir para excluir o cluster:

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

    Substitua:

    • USER_CLUSTER_NAME: o nome do cluster de usuário a ser verificado.

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