Esta página descreve como eliminar um cluster de administrador criado com o Google Distributed Cloud (apenas software) para VMware.
Antes de começar
Antes de eliminar um cluster de administrador, conclua os seguintes passos:
- Eliminar os respetivos clusters de utilizadores. Consulte o artigo Eliminar um cluster de utilizadores.
- Elimine todas as cargas de trabalho que usem PodDisruptionBudgets do cluster de administrador.
- Elimine todos os objetos externos, como PersistentVolumes, do cluster de administrador.
Defina uma variável de ambiente
KUBECONFIG
que aponte para o kubeconfig do cluster de administrador que quer eliminar:export KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG
em que
ADMIN_CLUSTER_KUBECONFIG
é o caminho do ficheiro kubeconfig do cluster de administrador.Anote o nome do cluster de administrador:
kubectl get onpremadmincluster
Anular a inscrição do cluster de administrador
Se o cluster de administrador estiver inscrito na API GKE On-Prem, tem de o anular primeiro a inscrição na API. Um cluster de administrador está inscrito na API nos seguintes casos:
- Inscreve explicitamente o cluster.
- Atualizou um cluster de utilizadores através da CLI Google Cloud, o que inscreve automaticamente o cluster de administrador.
- Criou o cluster de administrador com o Terraform.
Apresenta todos os clusters de administrador inscritos no seu projeto:
gcloud container vmware admin-clusters list \ --project=PROJECT_ID \ --location=-
Substitua
PROJECT_ID
pelo ID do projeto anfitrião da frota.O comando produz o nome de cada cluster de administrador inscrito na API GKE On-Prem no projeto, juntamente com a Google Cloud região.
Quando define
--location=-
, significa que quer listar todos os clusters em todas as regiões. Se precisar de restringir a lista, defina--location
para a região que especificou quando inscreveu o cluster.Anule a inscrição do cluster na API GKE On-Prem:
gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Substitua o seguinte:
ADMIN_CLUSTER_NAME
: o nome do cluster de administrador.PROJECT_ID
: o ID do projeto anfitrião da frota.REGION
: a Google Cloud região.
Este comando remove os recursos da API GKE On-Prem de Google Cloud.
Eliminar registo e monitorização
Ignore esta secção se o cluster estiver na versão 1.30 ou superior. Uma vez que os recursos personalizados de registo e monitorização não são implementados em clusters na versão 1.30 e superior, se executar os comandos, estes não são devolvidos.
Os pods de registo e monitorização do Google Distributed Cloud, implementados a partir de StatefulSets, usam PDBs que podem impedir a drenagem adequada dos nós. Para eliminar corretamente um cluster de administrador, tem de eliminar estes pods.
Para eliminar os pods de registo e monitorização, execute os seguintes comandos:
kubectl delete monitoring --all -n kube-system kubectl delete stackdriver --all -n kube-system
A eliminação da monitorização limpa os PersistentVolumes (PVs) associados aos StatefulSets, mas o PersistentVolume do Stackdriver tem de ser eliminado separadamente.
A eliminação do PV do Stackdriver é opcional. Se optar por não eliminar o volume persistente, registe a localização e o nome do volume persistente associado numa localização externa fora do cluster de utilizadores.
A eliminação do PV é propagada através da eliminação da Persistent Volume Claim (PVC).
Para encontrar o PVC do Stackdriver, execute o seguinte comando:
kubectl get pvc -n kube-system
Para eliminar o PVC, execute o seguinte comando:
kubectl delete pvc -n kube-system PVC_NAME
A verificar se o registo e a monitorização foram removidos
Para verificar se o registo e a monitorização foram removidos, execute os seguintes comandos:
kubectl get pvc -n kube-system kubectl get statefulsets -n kube-system
Limpar a partição F5 de um cluster de administrador
A eliminação do espaço de nomes gke-system
do cluster de administrador garante a limpeza adequada da partição F5, o que lhe permite reutilizar a partição para outro cluster de administrador.
Para eliminar o espaço de nomes gke-system
, execute o seguinte comando:
kubectl delete ns gke-system
Em seguida, elimine todos os serviços restantes do tipo LoadBalancer. Para listar todos os serviços, execute o seguinte comando:
kubectl get services --all-namespaces
Para cada serviço do tipo LoadBalancer, elimine-o executando o seguinte comando:
kubectl delete service SERVICE_NAME -n SERVICE_NAMESPACE
Em seguida, na consola do F5 BIG-IP:
- No canto superior direito da consola, mude para a partição que quer limpar.
- Selecione Tráfego local > Servidores virtuais > Lista de servidores virtuais.
- No menu Servidores virtuais, remova todos os IPs virtuais.
- Selecione Conjuntos e, de seguida, elimine todos os conjuntos.
- Selecione Nós e, de seguida, elimine todos os nós.
A validar se a partição F5 está limpa
CLI
Verifique se o VIP está inativo executando o seguinte comando:
ping -c 1 -W 1 F5_LOAD_BALANCER_IP; echo $?
que devolve 1
se o VIP estiver inativo.
IU do F5
Para verificar se a partição foi limpa na interface do utilizador do F5, siga estes passos:
- No canto superior direito, clique no menu pendente Partição. Selecione a partição do cluster de administrador.
- No menu Principal do lado esquerdo, selecione Tráfego local > Mapa da rede. Não deve existir nada abaixo do mapa da rede de trânsito local.
- Em Local Traffic > Virtual Servers, selecione Nodes e, de seguida, selecione Nodes List. Também não deve existir nada listado aqui.
Se ficarem entradas, elimine-as manualmente na IU.
Desligar máquinas de nós de administrador
Primeiro, execute este comando para obter os nomes das máquinas antes de as desligar.
kubectl get machines -o wide
A saída apresenta os nomes das máquinas. Agora, pode encontrá-los na IU do vSphere.
Para eliminar as máquinas de nós do plano de controlo do administrador, tem de desligar cada uma das VMs de administrador restantes no seu conjunto de recursos do vSphere.
IU do vSphere
Siga estes passos:
- No menu do vSphere, selecione a VM no conjunto de recursos do vSphere.
- Na parte superior do menu da MV, clique em Ações.
- Selecione Ligar/desligar > Desligar. O desligamento da VM pode demorar alguns minutos.
Eliminar máquinas de nós de administrador
Depois de a VM ser desligada, pode eliminá-la.
IU do vSphere
Siga estes passos:
- No menu do vSphere, selecione a VM no conjunto de recursos do vSphere.
- Na parte superior do menu da MV, clique em Ações.
- Clique em Eliminar do disco.
Eliminar o disco de dados
Depois de eliminar as VMs, pode eliminar o disco de dados. Os passos diferem ligeiramente consoante tenha um cluster de administrador de alta disponibilidade (HA) ou não HA.
Siga os passos seguintes na IU do vSphere:
Não HA
- No menu do vSphere, selecione o disco de dados do banco de dados de dados, conforme especificado no campo
vCenter.dataDisk
no ficheiro de configuração do cluster de administrador. - No centro do menu da base de dados, clique em Eliminar.
HA
Os caminhos do disco de dados para as 3 máquinas do plano de controlo de administração são gerados automaticamente em /anthos/ADMIN_CLUSTER/default/
, por exemplo:
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-0-data.vmdk /anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-1-data.vmdk /anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-2-data.vmdk
Siga estes passos para eliminar cada disco de dados:
- No menu do vSphere, selecione o disco de dados do banco de dados.
- No centro do menu da base de dados, clique em Eliminar.
Eliminar o ficheiro checkpoint.yaml
Se estiver a eliminar um cluster de administrador de HA, ignore este passo porque os clusters de administrador de HA não suportam o ficheiro de ponto de verificação.
O DATA_DISK_NAME-checkpoint.yaml ficheiro, onde DATA_DISK_NAME é o nome do disco de dados, está localizado na mesma pasta que o disco de dados. Elimine este ficheiro.
A anular o registo do cluster de administrador
Quando cria um cluster de administrador, regista o cluster numa Google Cloud frota. Execute o seguinte comando para eliminar a associação ao conjunto, o que anula o registo do cluster:
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=global
Este comando remove os recursos de associação à frota de Google Cloud.
Depois de terminar
Depois de terminar a eliminação do cluster de administrador, elimine a respetiva configuração kubeconfig.