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 forma de excluir um cluster de usuário depende de o cluster estar registrado ou não 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 Google Cloud CLI (CLI gcloud) ou o 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 registrado na API GKE On-Prem.

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

Para encontrar todos os clusters de usuário registrados na API GKE 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á registrado 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 saber mais 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, PVCs e PVs com estado 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 proxy e firewall da 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á excluir os clusters registrados.

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á registrado, mas gkectl não conseguiu acessar a API GKE On-Prem. Nesse caso, a coisa mais fácil é 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 estas etapas para excluí-lo:

  1. No console, acesse a página de 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, localize aquele que você quer excluir. 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. É necessário adicionar a sinalização --ignore-errors ao comando de exclusão.

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

  5. No painel Detalhes, perto da parte de cima da janela, clique em Excluir.

  6. Quando solicitado a confirmar, 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 gcloud CLI instalada:

  1. Atualize os componentes:

    gcloud components update
    
  2. 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.29.0-gke.1456    example-admin-cluster-1   RUNNING
    
  3. 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.