Como excluir um cluster de usuário

Nesta página, descrevemos como excluir um cluster de usuário do GKE local.

Visão geral

O GKE On-Prem oferece suporte à exclusão de clusters de usuário por meio de gkectl. Se o cluster não estiver íntegro (por exemplo, se o plano de controle estiver inacessível ou se o cluster falhar ao inicializar), consulte Como excluir um cluster de usuário não íntegro.

Como excluir um cluster de usuário

Para excluir um cluster de usuário, execute o seguinte comando:

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

em que [ADMIN_CLUSTER_KUBECONFIG] é o arquivo kubeconfig do cluster de administrador e [CLUSTER_NAME] é o nome do cluster de usuários que você quer excluir.

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

Problema conhecido

Na versão 1.1.2, há um problema conhecido que resulta nesse erro, se você estiver usando um armazenamento de dados vSAN:

Error deleting machine object xxx; Failed to delete machine xxx: failed
  to ensure disks detached: failed to convert disk path "" to UUID path:
  failed to convert full path "ds:///vmfs/volumes/vsan:52ed29ed1c0ccdf6-0be2c78e210559c7/":
  ServerFaultCode: A general system error occurred: Invalid fault

Consulte a solução alternativa nAs notas de lançamento.

Como excluir um cluster de usuários não íntegro

É possível passar --force para excluir um cluster de usuário se o cluster não estiver íntegro. Um cluster de usuário pode não estar íntegro se o plano de controle estiver inacessível, se o cluster falhar ao inicializar ou se gkectl delete cluster não excluir o cluster.

Para forçar a exclusão de um cluster:

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

em que [ADMIN_CLUSTER_KUBECONFIG] é o arquivo kubeconfig do cluster de administrador e [CLUSTER_NAME] é o nome do cluster de usuários que você quer excluir.

Como limpar recursos externos

Após uma exclusão forçada, alguns recursos podem sobrar no F5 ou no vSphere. 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 seu pool de recursos.
  3. Verifique se há VMs prefixadas com o nome do cluster de usuário.

Se houver VMs de cluster de usuário restantes, execute as seguintes etapas para cada VM:

  1. No Cliente da Web do vSphere, clique com o botão direito do mouse na VM do cluster de usuário 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 gkectl terminar de excluir o cluster de usuário, será possível excluir o kubeconfig dele.

Solução de problemas

Para mais informações, consulte Solução de problemas.

Como diagnosticar problemas de cluster usando gkectl

Use os comandos gkectl diagnose para identificar problemas de cluster e compartilhar informações do cluster com o Google. Consulte Como diagnosticar problemas de cluster.

Comportamento de geração de registros padrão

Para gkectl e gkeadm, basta usar as configurações de geração de registros padrão:

  • Por padrão, as entradas de registro são salvas da seguinte maneira:

    • Para gkectl, o arquivo de registros padrão é /home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log e está vinculado ao arquivo logs/gkectl-$(date).log no diretório local em que você executa gkectl.
    • Para gkeadm, o arquivo de registros padrão é logs/gkeadm-$(date).log no diretório local em que você executa gkeadm.
  • Todas as entradas de registro são salvas no arquivo de registros, mesmo que não sejam impressas no terminal (quando --alsologtostderr é false).
  • O nível de detalhamento -v5 (padrão) abrange todas as entradas de registro exigidas pela equipe de suporte.
  • O arquivo de registros também contém o comando executado e a mensagem de erro.

Recomendamos que você envie o arquivo de registros para a equipe de suporte quando precisar de ajuda.

Como especificar um local não padrão para o arquivo de registros

Se quiser especificar um local não padrão para o arquivo de registros gkectl, use a sinalização --log_file. O arquivo de registro que você especificar não será vinculado ao diretório local.

Se quiser especificar um local não padrão para o arquivo de registros gkeadm, use a sinalização --log_file.

Como localizar registros da API Cluster no cluster de administrador

Se uma VM não for iniciada após o início do plano de controle do administrador, tente depurar isso inspecionando os registros dos controladores da API Cluster no cluster de administrador:

  1. Encontre o nome do pod de controladores da API Cluster no namespace kube-system, em que [ADMIN_CLUSTER_KUBECONFIG] é o caminho para o arquivo kubeconfig do cluster de administrador:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. Abra os registros do pod, em que [POD_NAME] é o nome do pod. Opcionalmente, use grep ou uma ferramenta semelhante para pesquisar erros:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager