Wenn ein Google Distributed Cloud-Cluster installiert wird, werden Binärdateien und systemd-Dienste auf den Knoten installiert, die diesen Cluster hosten. Dienste beginnen dann, Ports auf den Knoten zu überwachen.
Wenn jedoch die Clusterinstallation fehlschlägt, müssen alle diese Binärdateien und Dienste gelöscht werden. Mit anderen Worten, die Knoten müssen zurückgesetzt oder gelöscht werden, um sie für einen erneuten Installationsversuch des Clusters vorzubereiten. Wenn Knoten nicht auf diese Weise zurückgesetzt werden, schlägt der nächste Versuch fehl, einen Cluster zu installieren.
Auf dieser Seite wird beschrieben, wie Sie bestimmte Knoten mit diesem Bereinigungsvorgang bereinigen und einen Cluster löschen.
Diese Seite richtet sich an Administratoren, Architekten und Betreiber, die den Lebenszyklus der zugrunde liegenden technischen Infrastruktur verwalten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.
Löschmethode auswählen
Welche Methode Sie zum Löschen eines Clusters verwenden, hängt von Folgendem ab:
- Der Clustertyp.
- Wenn Sie nur bestimmte Knoten bereinigen und nicht den gesamten Cluster löschen möchten.
- Wie der Cluster erstellt wurde.
Google Distributed Cloud bietet die folgenden Löschmethoden:
Google Cloud Console oder Google Cloud CLI:
Sie können die Console oder die gcloud CLI verwenden, um Nutzercluster zu löschen, die von der GKE On-Prem API verwaltet werden. Ein Nutzercluster wird von der GKE On-Prem API verwaltet, wenn eine der folgenden Bedingungen zutrifft:
Der Cluster wurde in der Google Cloud Console oder mit der gcloud CLI erstellt. Dadurch wird die GKE On-Prem API automatisch für die Verwaltung des Clusters konfiguriert.
Der Cluster wurde mit
bmctl
erstellt, aber er wurde so konfiguriert, dass er von der GKE On-Prem API verwaltet wird.
bmctl
:- Verwenden Sie
bmctl reset nodes
, um bestimmte Knoten zurückzusetzen. Verwenden Sie
bmctl reset
, um die folgenden Clustertypen zu löschen:- Administrator-, Hybrid- und eigenständige Cluster (als selbstverwaltete Cluster bezeichnet). Dies gilt auch für Administratorcluster, die von der GKE On-Prem API verwaltet werden.
- Nutzercluster, die nicht von der GKE On-Prem API verwaltet werden.
Wenn Sie
bmctl
verwenden, um Knoten zurückzusetzen oder einen Cluster zu löschen, erwartet der Befehl, dass sich die Clusterkonfigurationsdatei im aktuellen Arbeitsverzeichnis befindet. Der Pfad sieht standardmäßig so aus:bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME.yaml
Wenn Sie beim Erstellen des Clusters das Flag
--workspace-dir
verwendet haben, um ein anderes Verzeichnis anzugeben, müssen Sie das Flag verwenden, um beim Zurücksetzen des Clusters das Arbeitsverzeichnis anzugeben.- Verwenden Sie
kubectl
:- Mit
kubectl delete cluster
können Sie nur Nutzercluster löschen, die nicht von der GKE On-Prem API verwaltet werden. Führen Sie den Befehl nicht für andere Clustertypen aus. - Wenn Sie
kubectl delete cluster
verwenden, müssen Sie nach dem Löschen des Clusters auch den Namespace löschen, in dem sich der Cluster befindet.
- Mit
Nachdem Sie einen Cluster gelöscht haben, können Sie ihn neu installieren, nachdem Sie die erforderlichen Konfigurationsänderungen vorgenommen haben.
Selbstverwaltete Cluster löschen
Führen Sie den folgenden Befehl aus, um einen Administrator-, Hybrid- oder eigenständigen Cluster zu löschen:
bmctl reset --cluster CLUSTER_NAME
Ersetzen Sie im Befehl CLUSTER_NAME
durch den Namen des Clusters, den Sie zurücksetzen möchten.
Die Ausgabe des Befehls bmctl cluster reset
sieht in etwa so aus:
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
Mit dem Befehl wird nicht nur der Cluster gelöscht, sondern auch die Mitgliedschaft des Clusters in der Flotte.
Bei Administratorclustern, die von der GKE On-Prem API verwaltet werden, müssen Sie auch die API-Ressourcen in Google Cloudlöschen. Andernfalls wird der Cluster auf der Seite GKE-Cluster in der Google Cloud Console angezeigt. Verwenden Sie den folgenden Befehl, um die GKE On-Prem API-Ressourcen für einen Administratorcluster zu löschen:
gcloud container bare-metal admin-clusters unenroll CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --ignore-errors
Ersetzen Sie dabei Folgendes:
FLEET_HOST_PROJECT_ID
: Die Projekt-ID der Flotte, zu der der Administratorcluster gehörte.REGION
: Die Google Cloud Region, in der die GKE On-Prem API Clustermetadaten speichert.
Das Flag --ignore-errors
sorgt dafür, dass die Registrierung einer Bare-Metal-Administratorclusterressource aufgehoben wird, auch wenn während der Aufhebung der Registrierung Fehler auftreten.
Nachdem der Cluster gelöscht wurde, können Sie einen neuen Cluster erstellen. Weitere Informationen finden Sie unter Clustererstellung.
Nutzercluster löschen
Wenn der Nutzercluster von der GKE On-Prem API verwaltet wird, löschen Sie den Cluster über die Console oder die gcloud CLI. Verwenden Sie andernfalls bmctl
oder kubectl
, um den Cluster zu löschen.
bmctl
Sie können bmctl
verwenden, um Nutzercluster zu löschen, die mit bmctl
oder kubectl
erstellt wurden und nicht in der GKE On-Prem API registriert sind.
Führen Sie den folgenden Befehl aus, um einen Nutzercluster mit bmctl
zu löschen:
bmctl reset --cluster USER_CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH
Ersetzen Sie im Befehl die folgenden Einträge durch Informationen, die für Ihre Clusterumgebung spezifisch sind:
USER_CLUSTER_NAME
: der Name des Nutzerclusters, den Sie löschen möchten.ADMIN_KUBECONFIG_PATH
: der Pfad zurkubeconfig
-Datei des zugehörigen Administratorclusters.bmctl
unterstützt die Verwendung von--kubeconfig
als Alias für das Flag--admin-kubeconfig
.
Die Ausgabe des Befehls bmctl cluster reset
sieht in etwa so aus:
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
Sie können kubectl
verwenden, um Nutzercluster zu löschen, die mit bmctl
oder kubectl
erstellt wurden und nicht in der GKE On-Prem API registriert sind. Wenn Sie kubectl
verwenden möchten, um einen Nutzercluster zu löschen, müssen Sie zuerst das Clusterobjekt und dann seinen Namespace löschen. Andernfalls können die Jobs zum Zurücksetzen von Maschinen nicht erstellt werden und der Löschvorgang kann unbegrenzt hängen bleiben.
So löschen Sie einen Nutzercluster mit kubectl
:
Führen Sie den folgenden Befehl aus, um das Clusterobjekt zu löschen:
kubectl delete cluster USER_CLUSTER_NAME -n USER_CLUSTER_NAMESPACE \ --kubeconfig ADMIN_KUBECONFIG_PATH
Ersetzen Sie im Befehl die folgenden Einträge durch Informationen, die für Ihre Clusterumgebung spezifisch sind:
USER_CLUSTER_NAME
: der Name des Nutzerclusters, den Sie löschen möchten.USER_CLUSTER_NAMESPACE
: der Namespace für den Cluster. Standardmäßig sind die Cluster-Namespaces für Google Distributed Cloud der Name des Clusters, demcluster-
vorangestellt ist. Wenn Sie Ihren Cluster beispielsweisetest
nennen, hat der Namespace einen Namen wiecluster-test
.ADMIN_KUBECONFIG_PATH
: der Pfad zurkubeconfig
-Datei des zugehörigen Administratorclusters.
Führen Sie nach dem erfolgreichen Löschen des Clusters den folgenden Befehl aus, um den Namespace zu löschen:
kubectl delete namespace USER_CLUSTER_NAMESPACE --kubeconfig ADMIN_KUBECONFIG_PATH
Console
Wird der Nutzercluster von der GKE On-Prem API verwaltet, führen Sie die folgenden Schritte aus, um den Cluster zu löschen:
Rufen Sie in der Console die Seite Google Kubernetes Engine-Cluster – Übersicht auf.
Wählen Sie das Google Cloud Projekt aus, in dem sich der Nutzercluster befindet.
Klicken Sie in der Liste der Cluster auf den Cluster, den Sie löschen möchten.
Suchen Sie in der Liste der Cluster den Cluster, den Sie löschen möchten. Ist der Typ auf extern eingestellt, bedeutet dies, dass der Cluster mit
bmctl
erstellt und nicht in der GKE On-Prem API registriert wurde. Führen Sie in diesem Fall die Schritte auf dem Tabbmctl
oderkubectl
aus, um den Cluster zu löschen.Wenn das Symbol in der Spalte Status auf ein Problem hinweist, folgen Sie der Anleitung auf dem Tab „gcloud CLI“, um den Cluster zu löschen. Sie müssen dem Befehl zum Löschen das
--ignore-errors
-Flag hinzufügen.Klicken Sie auf den Namen des Clusters, den Sie löschen möchten.
Klicken Sie im Bereich Details oben im Fenster auf
Löschen.Wenn Sie zur Bestätigung aufgefordert werden, geben Sie den Namen des Clusters ein und klicken Sie auf Entfernen.
gcloud-CLI
Wenn der Nutzercluster von der GKE On-Prem API verwaltet wird, führen Sie die folgenden Schritte aus, um den Cluster auf einem Computer zu löschen, auf dem die gcloud CLI installiert ist:
Über Ihr Google-Konto anmelden
gcloud auth login
Aktualisieren Sie die Komponenten:
gcloud components update
Rufen Sie eine Liste der Cluster ab, um sicherzustellen, dass Sie im Löschbefehl den richtigen Clusternamen angeben:
gcloud container bare-metal clusters list \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION
Ersetzen Sie dabei Folgendes:
FLEET_HOST_PROJECT_ID
: die ID des Projekts, in dem der Cluster erstellt wurde.LOCATION
: Der Google Cloud -Standort, der dem Nutzercluster zugeordnet ist.
Die Ausgabe sieht etwa so aus:
NAME LOCATION VERSION ADMIN_CLUSTER STATE example-user-cluster-1a us-west1 1.33.100-gke.89 example-admin-cluster-1 RUNNING
Führen Sie den folgenden Befehl aus, um das Cluster zu löschen:
gcloud container bare-metal clusters delete USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION \ --force \ --allow-missing
Ersetzen Sie dabei Folgendes:
USER_CLUSTER_NAME
: Name des Nutzerclusters, der gelöscht werden soll.FLEET_HOST_PROJECT_ID
: die ID des Projekts, in dem der Cluster erstellt wurde.LOCATION
: Der Google Cloud -Standort, der dem Nutzercluster zugeordnet ist.
Mit dem
--force
-Flag können Sie einen Cluster mit Knotenpools löschen. Ohne das--force
-Flag müssen Sie zuerst die Knotenpools löschen und dann den Cluster.Das
--allow-missing
-Flag ist ein Standard-Google-API-Flag. Wenn Sie dieses Flag angeben, gibt der Befehl den Wert „Erfolg“ zurück, falls der Cluster nicht gefunden wird.Wenn der Befehl einen Fehler zurückgibt, der den Text
failed connecting to the cluster's control plane
enthält, weist dies auf Verbindungsprobleme zum Admin-Cluster, dem Connect-Agent oder zur lokalen Umgebung hin. Informationen zur Fehlerbehebung beim Connect-Agent finden Sie unter Connect-Agent-Logs erfassen.Wenn Sie glauben, dass das Verbindungsproblem vorübergehend ist, z. B. aufgrund von Netzwerkproblemen, warten Sie und starten Sie den Befehl dann noch einmal.
Wenn Sie wissen, dass der Administratorcluster gelöscht wurde oder die Knotenmaschinen für den Administrator- oder Nutzercluster heruntergefahren oder offline geschaltet wurden, fügen Sie das Flag
--ignore-errors
hinzu und versuchen Sie den Befehl noch einmal.Sie müssen auch
--ignore-errors
angeben, wenn der Cluster mitbmctl
oderkubectl
gelöscht wurde. In diesem Fall verbleiben GKE On-Prem API-Ressourcen in Google Cloud. Ein Symptom dafür ist, dass der Cluster auf der Seite GKE-Cluster in der Console weiterhin in einem fehlerhaften Zustand angezeigt wird.
Informationen zu anderen Flags finden Sie in der Referenz: gcloud CLI.
Bestimmte Clusterknoten zurücksetzen
Möglicherweise möchten Sie bestimmte Knoten eines Clusters zurücksetzen, wenn beispielsweise ein Administratorcluster gelöscht wurde, aber die Nutzercluster, die von diesem Administratorcluster verwaltet werden, bestehen bleiben. In diesem Fall können die Nutzercluster als Ganzes nicht gelöscht werden, da der Administratorcluster gelöscht wurde. Daher müssen die Knoten der Nutzercluster einzeln zurückgesetzt werden.
Zum Zurücksetzen von Knoten benötigen Sie ein Dienstkonto mit Lesezugriff auf Artifact Registry. Für den Befehl bmctl
ist die JSON-Schlüsseldatei für dieses Dienstkonto als Argument erforderlich. Führen Sie den folgenden Befehl aus, um einzelne Knoten eines Clusters zurückzusetzen:
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
Ersetzen Sie im Befehl die folgenden Einträge durch Informationen, die für Ihre Clusterumgebung spezifisch sind:
NODE_1_IP_ADDRESS , NODE_2_IP_ADDRESS
: eine durch Kommas getrennte Liste von IP-Adressen der Knoten, die Sie löschen möchten.SSH_KEY_PATH
: Pfad zum privaten SSH-Schlüssel. Dieser Schlüssel wird verwendet, um während des Zurücksetzens SSH-Verbindungen zu Knoten herzustellen.SERVICE_ACCOUNT_KEY_PATH
: Pfad zur JSON-Datei, die den Dienstkontoschlüssel enthält. Dieser Schlüssel gewährtbmctl
die Berechtigung zum Abrufen von Images aus Artifact Registry. Sie können einen Dienstkontoschlüssel mit der Console oder der gcloud CLI erstellen. Weitere Details finden Sie unter Dienstkontoschlüssel erstellen und verwalten. Eine weitere Möglichkeit zum Erstellen der Dienstkontoschlüsseldatei besteht darin, den Befehlcreate config
mit dem Flag--create-service-accounts
auszuführen. Weitere Informationen zu diesem Befehl finden Sie unter Cluster-Konfiguration mit bmctl erstellen und verwalten.
Details zum Löschen von Clustern
Während des Löschens werden die Registrierung der Flottenmitgliedschaft des Clusters, Speicher-Deployments und Daten aus anthos-system StorageClass
gelöscht.
Für alle Knoten werden die Tunnelschnittstellen, die für Cluster-Netzwerke verwendet werden, entfernt und die folgenden Verzeichnisse gelöscht:
/etc/kubernetes
/etc/cni/net.d
/root/.kube
/var/lib/kubelet
Für Load-Balancer-Knoten:
- Die Dienste
keepalived
undhaproxy
werden gelöscht. - Die Konfigurationsdateien für
keepalived
undhaproxy
werden gelöscht.