Config Sync deinstallieren
Auf dieser Seite erfahren Sie, wie Sie Config Sync in Ihrem Cluster deinstallieren, das Flottenfeature von Config Management für Ihre Flotte deaktivieren und den ConfigManagement Operator deinstallieren.
Mit dem Flottenfeature von Config Management werden Config Sync, Policy Controller und Hierarchy Controller mit dem ConfigManagement Operator verwaltet. Aufgrund dieser Architektur müssen die Deinstallationsschritte in der folgenden Reihenfolge ausgeführt werden:
- Config Sync aus dem Cluster deinstallieren
- Config Management-Feature für Ihre Flotte deaktivieren
- ConfigManagement Operator aus Ihrem Cluster deinstallieren
Config Sync aus dem Cluster deinstallieren
Console
Sie können Config Sync nicht nur mit der Google Cloud Console deinstallieren. Verwenden Sie stattdessen die Google Cloud CLI.
gcloud
Öffnen Sie das applySpec-Manifest, das Sie während der Installation mit der Google Cloud CLI erstellt haben.
Legen Sie im applySpec-Manifest
spec.configSync.enabled
auffalse
fest:applySpecVersion: 1 spec: configSync: enabled: false ...
(nur für Cluster mit automatischen Upgrades von Config Sync erforderlich) Legen Sie im applySpec-Manifest
spec.upgrades
aufauto
fest:applySpecVersion: 1 spec: upgrades: auto configSync: enabled: false ...
Änderungen anwenden:
gcloud beta container fleet config-management apply \ --membership=MEMBERSHIP_NAME \ --config=CONFIG_YAML \ --project=PROJECT_ID
Ersetzen Sie Folgendes:
MEMBERSHIP_NAME: Fügen Sie den registrierten Cluster hinzu, auf den Sie diese Konfiguration anwenden möchten. Wenn Sie den Cluster in der Google Cloud Console registriert haben, entspricht der Name der Mitgliedschaft dem Namen Ihres Clusters.
CONFIG_YAML: Fügen Sie den Pfad zur Datei
apply-spec.yaml
hinzu.PROJECT_ID: Fügen Sie Ihre Projekt-ID hinzu.
Terraform
Wenn Sie Terraform verwendet haben, um Config Sync mit der Ressource gke_hub_feature_membership des Google Cloud Platform-Anbieters zu installieren, aktualisieren Sie diese Ressource, um Config Sync zu deinstallieren.
Ermitteln Sie in Ihren Terraform-Konfigurationsdateien die Ressource
gke_hub_feature_membership
, für die das Argumentconfigmanagement
angegeben ist.Aktualisieren Sie die Ressource
gke_hub_feature_membership
, um das Argumentconfig_sync
aus demconfigmanagement
zu entfernen.Beispiel:
resource "google_gke_hub_feature_membership" "feature_member" { location = "global" feature = google_gke_hub_feature.feature.name membership = google_gke_hub_membership.membership.membership_id membership_location = google_gke_hub_membership.membership.location configmanagement { version = "1.17.0" } }
Wenden Sie die Terraform-Konfiguration an:
terraform apply
Bestätigen Sie, dass Sie die beschriebenen Aktionen anwenden möchten, indem Sie
yes
eingeben.
Config Connector
Wenn Sie Config Connector verwendet haben, um Config Sync mit einer GKEHubFeatureMembership-Ressource zu installieren, aktualisieren Sie diese Ressource, um Config Sync zu deinstallieren.
Ermitteln Sie das
GKEHubFeatureMembership
-Ressourcenobjekt in Ihrem Cluster, für das das Feld.spec.configmanagement.configSync
ausgefüllt ist.Patchen Sie das Ressourcenobjekt
GKEHubFeatureMembership
so, dass das Feld.spec.configmanagement.configSync
entfernt wird. Dazu setzen Sie es auf null:kubectl patch GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \ --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE \ -p '{"spec":{"configmanagement":{"configSync": null}}}'
Ersetzen Sie Folgendes:
FEATURE_MEMBERSHIP_OBJECT_NAME: Fügen Sie den Namen des zuvor erstellten
GKEHubFeatureMembership
-Ressourcenobjekts hinzu.FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: Fügen Sie den Namespace hinzu, der das zuvor erstellte
GKEHubFeatureMembership
-Ressourcenobjekt enthält.
Config Management für Ihre Flotte deaktivieren
Console
- Rufen Sie in der Google Cloud Console im Abschnitt Flottenfeatures die Seite Feature Management von GKE Enterprise auf.
Klicken Sie in der Zeile Config Management der Tabelle Produkte auf Details. Die Seite Statuszusammenfassung wird angezeigt.
Klicken Sie auf Config Management deaktivieren. Eine Bestätigungsseite wird angezeigt.
Klicken Sie auf der Bestätigungsseite auf Config Management deaktivieren.
gcloud
Führen Sie den folgenden Befehl aus, um Config Management auf allen Clustern in der Flotte zu deaktivieren:
gcloud beta container fleet config-management disable
Terraform
Wenn Sie Terraform verwendet haben, um das Config Management-Feature für Ihre Flotte mit einer google_gke_hub_feature-Ressource des Google Cloud Platform-Anbieters zu aktivieren, aktualisieren Sie diese Ressource, um Config Management für alle Cluster in der Flotte zu deaktivieren.
Aktualisieren Sie die HCL-Datei, die Ihre
google_gke_hub_feature
-Ressource enthält, um diegoogle_gke_hub_feature
-Ressource zu entfernen.Wenn noch eine
gke_hub_feature_membership
-Ressource mit einemfeature
-Feld definiert ist, das auf die entferntegoogle_gke_hub_feature
verweist, entfernen Sie auch diesegke_hub_feature_membership
-Ressource.Wenden Sie die Terraform-Konfiguration an:
terraform apply
Bestätigen Sie, dass Sie die beschriebenen Aktionen anwenden möchten, indem Sie
yes
eingeben.
Config Connector
Wenn Sie Config Connector verwendet haben, um das Config Management-Feature für Ihre Flotte mit einer GKEHubFeature-Ressource zu aktivieren, aktualisieren Sie diese Ressource, um Config Management für alle Cluster in der Flotte zu deaktivieren.
Ermitteln Sie das
GKEHubFeature
-Ressourcenobjekt im Cluster, das den.spec.resourceID
-Wertconfigmanagement
hat.Wenn noch ein
GKEHubFeatureMembership
-Ressourcenobjekt mit einem.spec.featureRef
-Feld definiert ist, das auf diesesGKEHubFeature
-Ressourcenobjekt verweist, löschen Sie es:kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \ --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
Ersetzen Sie Folgendes:
FEATURE_MEMBERSHIP_OBJECT_NAME: Fügen Sie den Namen des zuvor erstellten
GKEHubFeatureMembership
-Ressourcenobjekts hinzu.FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: Fügen Sie den Namespace hinzu, der das zuvor erstellte
GKEHubFeatureMembership
-Ressourcenobjekt enthält.
Löschen Sie die Ressource
GKEHubFeature
aus Ihrem Cluster:kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \ --namespace FEATURE_OBJECT_NAMESPACE
Ersetzen Sie Folgendes:
FEATURE_OBJECT_NAME: Fügen Sie den Namen des zuvor erstellten
GKEHubFeature
-Ressourcenobjekts hinzu.FEATURE_OBJECT_NAMESPACE: Fügen Sie den Namespace hinzu, der das zuvor erstellte
GKEHubFeature
-Ressourcenobjekt enthält.
ConfigManagement Operator deinstallieren
Löschen Sie mit kubectl
den ConfigManagement Operator, nachdem Sie das Config Management-Feature für die Flotte deaktiviert oder Ihren Cluster von der Flotte abgemeldet haben.
Führen Sie die folgenden Befehle aus, um den ConfigManagement Operator zu entfernen:
Löschen Sie das ConfigManagement-Objekt aus dem Cluster:
kubectl delete configmanagement --all
Die Ausführung dieses Befehls führt zu Folgendem:
- Alle vom ConfigManagement Operator im Cluster erstellten ClusterRoles und ClusterRoleBindings werden aus dem Cluster gelöscht.
- Alle vom ConfigManagement Operator installierten Admission-Controller-Konfigurationen werden gelöscht.
- Der Inhalt des Namespace
config-management-system
wird mit Ausnahme des Secretsgit-creds
sowie bei Versionen von Policy Controller, Config Sync und Config Controller ab Version 1.9.0 für das Deploymentconfig-management-operator
und den Podconfig-management-operator
gelöscht. Der ConfigManagement Operator funktioniert ohne den Namespaceconfig-management-system
nicht. Alle vom ConfigManagement Operator-Controller erstellten oder geänderten CustomResourceDefinitions (CRDs) werden aus den Clustern entfernt, in denen sie erstellt oder geändert wurden. Die zum Ausführen des ConfigManagement Operator erforderliche CRD ist noch vorhanden, da sie aus Sicht von Kubernetes von dem Nutzer hinzugefügt wurde, der den ConfigManagement Operator installiert hat. Wie Sie diese Komponenten entfernen, erfahren Sie im nächsten Schritt.
Wenn Sie das
git-creds
-Secret beibehalten möchten, sorgen Sie jetzt dafür:kubectl -n config-management-system get secret git-creds -o yaml
Löschen Sie den Namespace
config-management-system
:kubectl delete ns config-management-system
Löschen Sie den Namespace
config-management-monitoring
:kubectl delete ns config-management-monitoring
Löschen Sie die ConfigManagement CustomResourceDefinition:
kubectl delete crd configmanagements.configmanagement.gke.io