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:

  1. Config Sync aus dem Cluster deinstallieren
  2. Config Management-Feature für Ihre Flotte deaktivieren
  3. 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

  1. Öffnen Sie das applySpec-Manifest, das Sie während der Installation mit der Google Cloud CLI erstellt haben.

  2. Legen Sie im applySpec-Manifest spec.configSync.enabled auf false fest:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. (nur für Cluster mit automatischen Upgrades von Config Sync erforderlich) Legen Sie im applySpec-Manifest spec.upgrades auf auto fest:

    applySpecVersion: 1
    spec:
      upgrades: auto
      configSync:
        enabled: false
    ...
    
  4. Ä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.

  1. Ermitteln Sie in Ihren Terraform-Konfigurationsdateien die Ressource gke_hub_feature_membership, für die das Argument configmanagement angegeben ist.

  2. Aktualisieren Sie die Ressource gke_hub_feature_membership, um das Argument config_sync aus dem configmanagement 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"
      }
    }
    
  3. 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.

  1. Ermitteln Sie das GKEHubFeatureMembership-Ressourcenobjekt in Ihrem Cluster, für das das Feld .spec.configmanagement.configSync ausgefüllt ist.

  2. 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

  1. Rufen Sie in der Google Cloud Console im Abschnitt Flottenfeatures die Seite Feature Management von GKE Enterprise auf.

    Zur Funktionsverwaltung

  2. Klicken Sie in der Zeile Config Management der Tabelle Produkte auf Details. Die Seite Statuszusammenfassung wird angezeigt.

  3. Klicken Sie auf Config Management deaktivieren. Eine Bestätigungsseite wird angezeigt.

  4. Klicken Sie auf der Bestätigungsseite auf Config Management deaktivieren.

gcloud

  1. 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.

  1. Aktualisieren Sie die HCL-Datei, die Ihre google_gke_hub_feature-Ressource enthält, um die google_gke_hub_feature-Ressource zu entfernen.

  2. Wenn noch eine gke_hub_feature_membership-Ressource mit einem feature-Feld definiert ist, das auf die entfernte google_gke_hub_feature verweist, entfernen Sie auch diese gke_hub_feature_membership-Ressource.

  3. 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.

  1. Ermitteln Sie das GKEHubFeature-Ressourcenobjekt im Cluster, das den .spec.resourceID-Wert configmanagement hat.

  2. Wenn noch ein GKEHubFeatureMembership-Ressourcenobjekt mit einem .spec.featureRef-Feld definiert ist, das auf dieses GKEHubFeature-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.

  3. 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:

  1. 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 Secrets git-creds sowie bei Versionen von Policy Controller, Config Sync und Config Controller ab Version 1.9.0 für das Deployment config-management-operator und den Pod config-management-operator gelöscht. Der ConfigManagement Operator funktioniert ohne den Namespace config-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.
  2. 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
    
  3. Löschen Sie den Namespace config-management-system:

    kubectl delete ns config-management-system
    
  4. Löschen Sie den Namespace config-management-monitoring:

    kubectl delete ns config-management-monitoring
    
  5. Löschen Sie die ConfigManagement CustomResourceDefinition:

    kubectl delete crd configmanagements.configmanagement.gke.io