Quando un cluster Google Distributed Cloud è in procinto di essere installati, programmi binari systemd vengono installati sui nodi che ospitano quel cluster e iniziano a resta in ascolto delle porte sui nodi.
Tuttavia, se l'installazione di un cluster non va a buon fine, tutti questi binari e servizi devono essere eliminati. In altre parole, i nodi devono essere ripristinati o resettati per prepararli a un nuovo tentativo di installazione del cluster. Se i nodi non vengono reimpostati in questo modo, il successivo tentativo di installazione di un cluster non va a buon fine.
In questa pagina viene descritto come eseguire questa operazione di pulizia di nodi specifici e per eliminare un cluster.
Questa pagina è rivolta agli amministratori, agli architetti e agli operatori che gestiscono ciclo di vita dell'infrastruttura tecnica sottostante. Per scoprire di più sui modelli ruoli e attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud, vedi Ruoli e attività utente comuni di GKE Enterprise.
Scegli un metodo di eliminazione
Il metodo che utilizzi per eliminare un cluster dipende da:
- Il tipo di cluster.
- Se vuoi pulire solo nodi specifici e non eliminare l'intero cluster.
- Come è stato creato il cluster.
Google Distributed Cloud fornisce i seguenti metodi di eliminazione:
Console Google Cloud o Google Cloud CLI:
Utilizza la console o gcloud CLI per eliminare l'utente gestiti dall'API GKE On-Prem. Un cluster utente è gestito dall'API GKE On-Prem se una delle seguenti condizioni è vera:
Il cluster è stato creato nella console Google Cloud o utilizzando gcloud CLI, che configura automaticamente l'API GKE On-Prem per gestire il cluster.
Il cluster è stato creato utilizzando
bmctl
, ma è stato configurato per essere gestito dall'API GKE On-Prem.
bmctl
:- Utilizza
bmctl reset nodes
per reimpostare nodi specifici. Utilizza
bmctl reset
per eliminare i seguenti tipi di cluster:- Cluster di amministrazione, ibridi e autonomi (chiamati cluster autogestiti). Sono inclusi i cluster di amministrazione gestiti dall'API GKE On-Prem.
- Cluster utente non gestiti dall'API GKE On-Prem.
Se utilizzi
bmctl
per reimpostare i nodi o eliminare un cluster, il comando prevede che il file di configurazione del cluster si trovi nella directory di lavoro attuale. Per impostazione predefinita, il percorso è il seguente:bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME.yaml
Se hai utilizzato il flag
--workspace-dir
per specificare una directory diversa durante la creazione del cluster, devi utilizzare il flag per specificare la directory di lavoro durante il ripristino del cluster.- Utilizza
kubectl
:- Utilizza
kubectl delete cluster
per eliminare solo i cluster utente non gestiti dai cluster dell'API GKE On-Prem. Non eseguire il comando su altri tipi di cluster. - Tieni presente che se utilizzi
kubectl delete cluster
, devi eliminare anche in cui si trova il cluster dopo che lo hai eliminato.
- Utilizza
Dopo aver eliminato un cluster, puoi reinstallarlo dopo aver apportato le modifiche di configurazione necessarie.
Elimina i cluster autogestiti
Per eliminare un cluster di amministrazione, ibrido o autonomo, esegui questo comando:
bmctl reset --cluster CLUSTER_NAME
Nel comando, sostituisci CLUSTER_NAME
con il nome del
che vuoi reimpostare.
L'output del comando bmctl cluster reset
è simile a questo esempio:
Please check the logs at bmctl-workspace/example-cluster-1/log/reset-20221025-184705/reset.log [2022-10-25 18:47:11+0000] Creating bootstrap cluster... OK [2022-10-25 18:48:18+0000] Loading images... OK [2022-10-25 18:48:18+0000] Waiting for reset jobs to finish... [2022-10-25 18:48:28+0000] Operation reset in progress: 1 Completed: 0 Failed: 0 ... [2022-10-25 18:50:08+0000] Operation reset in progress: 0 Completed: 1 Failed: 0 [2022-10-25 18:50:08+0000] Flushing logs... OK [2022-10-25 18:50:08+0000] Deleting GKE Hub member example-cluster-1 in project example-project-12345... [2022-10-25 18:50:11+0000] Successfully deleted GKE Hub member example-cluster-1 in project example-project-12345 [2022-10-25 18:50:11+0000] Deleting bootstrap cluster... OK
Oltre a eliminare il cluster, il comando elimina anche dal flotta.
Per i cluster di amministrazione gestiti dall'API GKE On-Prem, devi eliminare anche di risorse API in Google Cloud. In caso contrario, il cluster verrà visualizzato nella pagina Cluster GKE della console Google Cloud. Utilizza il seguente comando per eliminare le risorse dell'API GKE On-Prem per un cluster di amministrazione:
gcloud container bare-metal admin-clusters unenroll CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --ignore-errors
Sostituisci quanto segue:
FLEET_HOST_PROJECT_ID
: l'ID progetto del parco illuminante di cui faceva parte il cluster di amministrazione.REGION
: la regione Google Cloud in cui l'API GKE On-Prem archivia i metadati del cluster.
Il flag --ignore-errors
garantisce che la disattivazione di una risorsa del cluster amministrativo bare metal vada a buon fine anche se si verificano errori durante la disattivazione.
Al termine dell'eliminazione del cluster, puoi crearne uno nuovo. Per maggiori dettagli, consulta la panoramica della creazione del cluster.
Eliminare i cluster di utenti
Se il cluster utente è gestito dall'API GKE On-Prem, elimina il cluster utilizzando
la console o gcloud CLI. In caso contrario, utilizza bmctl
o kubectl
per eliminare il cluster.
bmctl
Puoi utilizzare bmctl
per eliminare i cluster utente creati con
bmctl
o kubectl
, che non sono registrate nell'API GKE On-Prem.
Esegui questo comando per eliminare un cluster utente con bmctl
:
bmctl reset --cluster USER_CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH
Nel comando, sostituisci le voci seguenti con informazioni specifiche per il tuo ambiente:
USER_CLUSTER_NAME
: il nome del cluster utente che stai l'eliminazione.ADMIN_KUBECONFIG_PATH
: il percorso del filekubeconfig
del cluster amministrativo associato.bmctl
supporta l'utilizzo di--kubeconfig
come alias per il flag--admin-kubeconfig
.
L'output del comando bmctl cluster reset
è simile a questo esempio:
Please check the logs at bmctl-workspace/example-cluster-1/log/reset-20221025-184705/reset.log [2022-10-25 18:47:11+0000] Creating bootstrap cluster... OK [2022-10-25 18:48:18+0000] Loading images... OK [2022-10-25 18:48:18+0000] Waiting for reset jobs to finish... [2022-10-25 18:48:28+0000] Operation reset in progress: 1 Completed: 0 Failed: 0 ... [2022-10-25 18:50:08+0000] Operation reset in progress: 0 Completed: 1 Failed: 0 [2022-10-25 18:50:08+0000] Flushing logs... OK [2022-10-25 18:50:08+0000] Deleting GKE Hub member example-cluster-1 in project example-project-12345... [2022-10-25 18:50:11+0000] Successfully deleted GKE Hub member example-cluster-1 in project example-project-12345 [2022-10-25 18:50:11+0000] Deleting bootstrap cluster... OK
kubectl
Puoi utilizzare kubectl
per eliminare i cluster utente creati con
bmctl
o kubectl
, che non sono registrate nell'API GKE On-Prem. Per utilizzare
kubectl
per eliminare un cluster utente, devi prima eliminare l'oggetto cluster,
quindi il relativo spazio dei nomi. In caso contrario, non sarà possibile creare job per reimpostare le macchine,
e il processo di eliminazione potrebbe
essere bloccato a tempo indeterminato.
Per eliminare un cluster utente con kubectl
:
Esegui questo comando per eliminare l'oggetto cluster:
kubectl delete cluster USER_CLUSTER_NAME -n USER_CLUSTER_NAMESPACE \ --kubeconfig ADMIN_KUBECONFIG_PATH
Nel comando, sostituisci le seguenti voci con informazioni specifiche per il tuo ambiente:
USER_CLUSTER_NAME
: il nome del cluster utente che stai l'eliminazione.USER_CLUSTER_NAMESPACE
: lo spazio dei nomi per il cluster. Per impostazione predefinita, gli spazi dei nomi del cluster per Google Distributed Cloud è il nome del cluster preceduto dacluster-
. Ad esempio, se assegni al cluster il nometest
, lo spazio dei nomi avrà un nome comecluster-test
.ADMIN_KUBECONFIG_PATH
: il percorso dell'elemento associatokubeconfig
del cluster di amministrazione.
Dopo aver eliminato il cluster, esegui questo comando elimina lo spazio dei nomi:
kubectl delete namespace USER_CLUSTER_NAMESPACE --kubeconfig ADMIN_KUBECONFIG_PATH
Console
Se il cluster utente è gestito dall'API GKE On-Prem, segui questi passaggi per eliminare il cluster:
Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.
Seleziona il progetto Google Cloud in cui si trova il cluster utente.
Nell'elenco dei cluster, fai clic sul cluster che vuoi eliminare.
Nell'elenco dei cluster, individua quello che vuoi eliminare. Se il Tipo è external, indica che il cluster è stato creato utilizzando
bmctl
e non è stato registrato per l'API GKE On-Prem. In questo caso, segui i passaggi descritti nella schedabmctl
okubectl
per eliminare il cluster.Se l'icona nella colonna Stato indica un problema, segui i passaggi nella scheda gcloud CLI per eliminare il cluster. Dovrai aggiungi il flag
--ignore-errors
al comando delete.Fai clic sul nome del cluster che vuoi eliminare.
Nel riquadro Dettagli, nella parte superiore della finestra, fai clic su
Elimina.Quando ti viene richiesta una conferma, inserisci il nome del cluster e fai clic su Rimuovi.
Interfaccia a riga di comando gcloud
Se il cluster utente è gestito dall'API GKE On-Prem, segui questi passaggi per eliminarlo su un computer su cui è installato gcloud CLI:
Accedi con il tuo Account Google:
gcloud auth login
Aggiorna i componenti:
gcloud components update
Ottieni un elenco di cluster per assicurarti di specificare il cluster corretto nome del cluster nel comando delete:
gcloud container bare-metal clusters list \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION
Sostituisci quanto segue:
FLEET_HOST_PROJECT_ID
: l'ID del progetto che in cui è stato creato il cluster.LOCATION
: la località Google Cloud associata al cluster di utenti.
L'output è simile al seguente:
NAME LOCATION VERSION ADMIN_CLUSTER STATE example-user-cluster-1a us-west1 1.30.200-gke.101 example-admin-cluster-1 RUNNING
Esegui questo comando per eliminare il cluster:
gcloud container bare-metal clusters delete USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION \ --force \ --allow-missing
Sostituisci quanto segue:
USER_CLUSTER_NAME
: il nome del cluster utente eliminare.FLEET_HOST_PROJECT_ID
: l'ID del progetto che in cui è stato creato il cluster.LOCATION
: la località di Google Cloud associata a per il cluster utente.
Il flag
--force
ti consente di eliminare un cluster con pool di nodi. Senza il flag--force
, devi prima eliminare i pool di nodi e poi il cluster.Il flag
--allow-missing
è un flag standard dell'API di Google. Se includi questo flag, il comando restituisce un esito positivo se il cluster non viene trovato.Se il comando restituisce un errore contenente il testo
failed connecting to the cluster's control plane
, indica problemi di connettività con il cluster di amministrazione, con Connect Agent o con l'ambiente on-premise. Per risolvere i problemi relativi a Agent Connect, consulta Raccogliere i log di Agent Connect.Se ritieni che il problema di connettività sia temporaneo, ad esempio perché di problemi di rete, attendi e riprova.
Se sai che il cluster di amministrazione è stato eliminato, o se il nodo Le macchine per l'amministratore o per il cluster utente sono state arrestate o prese offline, includi il flag
--ignore-errors
e riprova a eseguire il comando.Devi anche includere
--ignore-errors
se il cluster è stato eliminato utilizzandobmctl
okubectl
, il che lascia le risorse dell'API GKE On-Prem in Google Cloud. Un sintomo di questo problema è che l'ammasso viene ancora visualizzata nella Cluster GKE nella console in stato non integro.
Per informazioni su altri flag, consulta il riferimento all'interfaccia a riga di comando gcloud.
Reimposta nodi cluster specifici
Potresti voler reimpostare nodi specifici di un cluster se, ad esempio, un cluster di amministrazione è stato eliminato, ma i cluster utente gestiti da quel cluster di amministrazione rimangono. In questo caso, i cluster di utenti nel loro complesso non possono essere eliminati perché il cluster di amministrazione è stato eliminato. Di conseguenza, i nodi dei cluster utente devono essere reimpostate singolarmente.
Per reimpostare i nodi, è necessario un account di servizio con accesso in lettura al container Google
Registry (GCR). Il comando bmctl
prevede come argomento il file della chiave JSON per questo account di servizio. Per reimpostare i singoli nodi di un cluster, esegui
seguente comando:
bmctl reset nodes --addresses NODE_1_IP_ADDRESS,NODE_2_IP_ADDRESS \ --ssh-private-key-path SSH_KEY_PATH \ --gcr-service-account-key SERVICE_ACCOUNT_KEY_PATH \ --login-user root
Nel comando, sostituisci le seguenti voci con informazioni specifiche per il tuo ambiente:
NODE_1_IP_ADDRESS , NODE_2_IP_ADDRESS
: elenco di indirizzi IP dei nodi da eliminare, separati da virgole.SSH_KEY_PATH
: percorso della chiave privata SSH. Questa è la chiave che verrà utilizzata per stabilire connessioni SSH con i nodi durante il ripristino dei dati di fabbrica.SERVICE_ACCOUNT_KEY_PATH
: percorso del file JSON che contiene la chiave dell'account di servizio. Questa chiave autorizzabmctl
a eseguire il pull da Google Container Registry. Puoi creare una chiave dell'account di servizio utilizzando la console o l'interfaccia a riga di comando gcloud. Per maggiori dettagli, consulta la sezione Creare e gestire le chiavi degli account di servizio. Un altro modo per creare il file della chiave dell'account di servizio è eseguire il comandocreate config
con il flag--create-service-accounts
. Per maggiori dettagli su questo comando, consulta Creare e gestire la configurazione del cluster con bmctl.
Dettagli sull'eliminazione del cluster
Durante l'eliminazione, vengono eliminati la registrazione dell'appartenenza al parco del cluster, le mount di archiviazione e i dati di anthos-system StorageClass
.
Per tutti i nodi, vengono rimosse le interfacce del tunnel utilizzate per il networking del cluster, e le seguenti directory vengono eliminate:
/etc/kubernetes
/etc/cni/net.d
/root/.kube
/var/lib/kubelet
Per i nodi del bilanciatore del carico:
- I servizi
keepalived
ehaproxy
sono stati eliminati. - I file di configurazione per
keepalived
ehaproxy
sono stati eliminati.