Eliminazione di un cluster di amministrazione

Questa pagina descrive come eliminare un cluster di amministrazione creato con Google Distributed Cloud (solo software) per VMware.

Prima di iniziare

Prima di eliminare un cluster di amministrazione, completa i seguenti passaggi:

  • Elimina i relativi cluster utente. Vedi Eliminazione di un cluster utente.
  • Elimina tutti i workload che utilizzano PodDisruptionBudgets dal cluster di amministrazione.
  • Elimina tutti gli oggetti esterni, ad esempio PersistentVolumes, dal cluster amministrativo.
  • Nella workstation di amministrazione, imposta una variabile di ambiente KUBECONFIG che rimandi al file kubeconfig del cluster di amministrazione che vuoi eliminare:

    export KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG
    

    dove ADMIN_CLUSTER_KUBECONFIG è il percorso del file kubeconfig del cluster di amministrazione.

  • (Facoltativo) Esegui il comando seguente sulla workstation di amministrazione per ottenere il nome del cluster di amministrazione:

    kubectl get -n=kube-system onpremadmincluster
    

Annullamento della registrazione del cluster di amministrazione

Se il cluster di amministrazione è registrato all'API GKE On-Prem, devi annullare la registrazione prima di eliminare altre risorse del cluster. L'annullamento della registrazione del cluster rimuove le risorse dell'API GKE On-Prem da Google Cloud. Se non annulli la registrazione del cluster, questo continuerà a essere visualizzato nella consoleGoogle Cloud nella pagina Kubernetes Engine > Cluster.

Se hai creato il cluster di amministrazione utilizzando la console Google Cloud o Terraform, il cluster viene registrato automaticamente nell'API GKE On-Prem. I cluster di amministrazione creati con la versione 1.16 o successive utilizzando lo strumento a riga di comando gkectl vengono registrati automaticamente con l'API GKE On-Prem. Se il cluster di amministrazione è stato creato utilizzando gkectl con una versione precedente, il cluster viene registrato nell'API nei seguenti casi:

  1. Elenca tutti i cluster di amministrazione registrati nel progetto:

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

    Sostituisci PROJECT_ID con l'ID del progetto host della flotta.

    Il comando restituisce il nome di ogni cluster di amministrazione registrato nell'API GKE On-Prem nel progetto, insieme alla regione Google Cloud .

    Quando imposti --location=-, significa elencare tutti i cluster in tutte le regioni. Se devi ridurre l'ambito dell'elenco, imposta --location sulla regione specificata al momento della registrazione del cluster.

  2. Annulla la registrazione del cluster dall'API GKE On-Prem:

    gcloud container vmware admin-clusters unenroll  ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID \
        --location=REGION
    

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_NAME: il nome del cluster di amministrazione.
    • PROJECT_ID: l'ID del progetto host del parco veicoli.
    • REGION: La Google Cloud regione.

    Se il comando non va a buon fine, prova a eseguirlo di nuovo con il flag --ignore-errors.

Eliminazione di Logging e Monitoring

Salta questa sezione se il cluster è alla versione 1.30 o successive. Poiché le risorse personalizzate di logging e monitoraggio non vengono implementate nei cluster con versione 1.30 e successive, se esegui i comandi, non verranno restituite.

I pod di logging e monitoraggio di Google Distributed Cloud, di cui è stato eseguito il deployment da StatefulSet, utilizzano PDB che possono impedire lo svuotamento corretto dei nodi. Per eliminare correttamente un cluster di amministrazione, devi eliminare questi pod.

Per eliminare i pod di logging e monitoraggio, esegui questi comandi:

kubectl delete monitoring --all -n kube-system
kubectl delete stackdriver --all -n kube-system

L'eliminazione del monitoraggio pulisce i PersistentVolume (PV) associati a StatefulSet, ma il PersistentVolume per Stackdriver deve essere eliminato separatamente.

L'eliminazione del PV Stackdriver è facoltativa. Se scegli di non eliminare il PV, registra la posizione e il nome del PV associato in una posizione esterna al di fuori del cluster utente.

L'eliminazione del PV verrà propagata tramite l'eliminazione di Persistent Volume Claim (PVC).

Per trovare la PVC di Stackdriver, esegui questo comando:

kubectl get pvc -n kube-system

Per eliminare la PVC, esegui questo comando:

kubectl delete pvc -n kube-system PVC_NAME

Verifica della rimozione di logging e monitoraggio

Per verificare che la registrazione e il monitoraggio siano stati rimossi, esegui questi comandi:

kubectl get pvc -n kube-system
kubectl get statefulsets -n kube-system

Pulizia di una partizione F5 di un cluster di amministrazione

Ignora questa sezione se non utilizzi il bilanciatore del carico F5.

L'eliminazione dello spazio dei nomi gke-system dal cluster di amministrazione garantisce una corretta pulizia della partizione F5, consentendoti di riutilizzarla per un altro cluster di amministrazione.

Per eliminare lo spazio dei nomi gke-system, esegui questo comando:

kubectl delete ns gke-system

Poi elimina tutti i servizi rimanenti di tipo LoadBalancer. Per elencare tutti i servizi, esegui questo comando:

kubectl get services --all-namespaces

Per ogni servizio di tipo LoadBalancer, eliminalo eseguendo questo comando:

kubectl delete service SERVICE_NAME -n SERVICE_NAMESPACE

Quindi, dalla console F5 BIG-IP:

  1. Nell'angolo in alto a destra della console, passa alla partizione da pulire.
  2. Seleziona Traffico locale > Server virtuali > Elenco server virtuali.
  3. Nel menu Virtual Servers (Server virtuali), rimuovi tutti gli IP virtuali.
  4. Seleziona Piscine, poi elimina tutte le piscine.
  5. Seleziona Nodi, quindi elimina tutti i nodi.

Verifica che la partizione F5 sia pulita

Interfaccia a riga di comando

Controlla che il VIP non sia attivo eseguendo questo comando:

ping -c 1 -W 1 F5_LOAD_BALANCER_IP; echo $?

che restituirà 1 se il VIP non è disponibile.

UI F5

Per verificare che la partizione sia stata pulita dall'interfaccia utente F5, esegui i seguenti passaggi:

  1. Nell'angolo in alto a destra, fai clic sul menu a discesa Partizione. Seleziona la partizione del cluster di amministrazione.
  2. Dal menu Principale a sinistra, seleziona Traffico locale > Mappa della rete. Non deve essere presente alcun elemento sotto la mappa della rete di traffico locale.
  3. In Local Traffic (Traffico locale) > Virtual Servers (Server virtuali), seleziona Nodes (Nodi), quindi seleziona Nodes List (Elenco nodi). Anche qui non dovrebbe essere presente nulla.

Se sono rimaste voci, eliminale manualmente dall'interfaccia utente.

Spegnimento delle macchine nodo di amministrazione

Innanzitutto, esegui questo comando per ottenere i nomi delle macchine prima di spegnerle.

kubectl get machines -o wide

L'output elenca i nomi delle macchine. Ora puoi trovarli nell'interfaccia utente di vSphere.

Per eliminare le macchine dei nodi del control plane di amministrazione, devi spegnere ciascuna delle VM di amministrazione rimanenti nel pool di risorse vSphere.

UI vSphere

Segui questi passaggi:

  1. Dal menu vSphere, seleziona la VM dal pool di risorse vSphere.
  2. Nella parte superiore del menu della VM, fai clic su Azioni.
  3. Seleziona Alimentazione > Spegni. Lo spegnimento della VM potrebbe richiedere alcuni minuti.

Eliminazione delle macchine dei nodi di amministrazione

Dopo lo spegnimento della VM, puoi eliminarla.

UI vSphere

Segui questi passaggi:

  1. Dal menu vSphere, seleziona la VM dal pool di risorse vSphere.
  2. Nella parte superiore del menu della VM, fai clic su Azioni.
  3. Fai clic su Elimina dal disco.

Eliminazione del disco di dati

Dopo aver eliminato le VM, puoi eliminare il disco di dati. I passaggi variano leggermente a seconda che tu disponga di un cluster di amministrazione a disponibilità elevata (HA) o non HA.

Segui questi passaggi nell'interfaccia utente vSphere:

Non HA

  1. Dal menu vSphere, seleziona il disco di dati dal datastore come specificato nel campo vCenter.dataDisk nel file di configurazione del cluster di amministrazione.
  2. Al centro del menu del datastore, fai clic su Elimina.

HA

I percorsi dei dischi di dati per le tre macchine del control plane amministrativo vengono generati automaticamente in /anthos/ADMIN_CLUSTER/default/, ad esempio:

/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

Per eliminare ogni disco di dati:

  1. Dal menu vSphere, seleziona il disco di dati dal datastore.
  2. Al centro del menu del datastore, fai clic su Elimina.

Eliminazione del file checkpoint.yaml

Se stai eliminando un cluster di amministrazione HA, salta questo passaggio perché i cluster di amministrazione HA non supportano il file checkpoint.

Il DATA_DISK_NAME-checkpoint.yaml file, dove DATA_DISK_NAME è il nome del disco dati, si trova nella stessa cartella del disco dati. Elimina questo file.

Annullamento della registrazione del cluster di amministrazione

Quando crei un cluster di amministrazione, questo viene registrato automaticamente in un parco risorseGoogle Cloud . Devi annullare la registrazione del cluster dopo aver eliminato i computer del nodo amministratore; in caso contrario, un controller nel cluster registra nuovamente il cluster.

L'annullamento della registrazione del cluster rimuove le risorse di appartenenza al parco risorse da Google Cloud. Se non annulli la registrazione del cluster, questo continuerà a essere visualizzato nella console Google Cloud nella pagina Kubernetes Engine > Cluster.

  1. Esegui questo comando e annota la posizione:

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    
  2. Esegui questo comando per eliminare l'appartenenza al parco, che annulla la registrazione del cluster:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID \
        --location=MEMBERSHIP_REGION
    

    Sostituisci MEMBERSHIP_REGION con l'output della posizione dal comando gcloud container fleet memberships list. Potrebbe essere global o una regione Google Cloud .

Al termine

Dopo aver terminato l'eliminazione del cluster di amministrazione, elimina il relativo kubeconfig.