Config Sync deinstallieren

Auf dieser Seite erfahren Sie, wie Sie Config Sync in Ihrem Cluster deinstallieren, das Config Management-Flottenfeature für Ihre Flotte deaktivieren sowie den ConfigManagement Operator deinstallieren.

Diese Seite richtet sich an IT-Administratoren 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 Enterprise-Nutzerrollen und -Aufgaben.

Mit dem Flottenfeature von Config Management können Config Sync mit dem ConfigManagement Operator verwaltet werden. Aufgrund dieser Architektur müssen die Schritte zur Deinstallation in der folgenden Reihenfolge ausgeführt werden:

  1. Config Sync in Ihrem Cluster deinstallieren
  2. Config Management-Feature für Ihre Flotte deaktivieren
  3. ConfigManagement Operator in Ihrem Cluster deinstallieren

Config Sync in Ihrem Cluster deinstallieren

Console

Sie können Config Sync nicht nur über die Google Cloud Console deinstallieren. Verwenden Sie stattdessen die Google Cloud CLI.

gcloud

  1. Öffnen Sie das applySpec-Manifest, das Sie bei 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. Übernehmen Sie die Änderung:

      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 zur Installation von Config Sync mit einer gke_hub_feature_membership-Ressource aus dem Google Cloud Platform-Anbieter verwendet haben, müssen Sie diese Ressource aktualisieren, um Config Sync zu deinstallieren.

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

  2. Aktualisieren Sie die gke_hub_feature_membership-Ressource, 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.20.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, müssen Sie diese Ressource aktualisieren, um Config Sync zu deinstallieren.

  1. Ermitteln Sie das Ressourcenobjekt GKEHubFeatureMembership in Ihrem Cluster, bei dem das Feld .spec.configmanagement.configSync ausgefüllt ist.

  2. Patchen Sie das GKEHubFeatureMembership-Ressourcenobjekt, um das Feld .spec.configmanagement.configSync zu entfernen, indem Sie es auf „null“ setzen:

    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 die Seite Feature Manager auf.

    Zu Feature Manager

  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 in allen Clustern 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 aus dem Google Cloud Platform-Anbieter zu aktivieren, müssen Sie diese Ressource aktualisieren, um Config Management für alle Cluster der Flotte zu deaktivieren.

  1. Aktualisieren Sie die HCL-Datei, die die 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 das 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, müssen Sie diese Ressource aktualisieren, um Config Management in allen Clustern der Flotte zu deaktivieren.

  1. Ermitteln Sie das Ressourcenobjekt GKEHubFeature in Ihrem Cluster, dessen .spec.resourceID-Wert configmanagement ist.

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

Verwenden Sie kubectl, um den ConfigManagement Operator zu löschen, nachdem Sie das Config Management-Feature für die Flotte deaktiviert oder die Registrierung Ihres Clusters für die Flotte aufgehoben haben.

Um den ConfigManagement Operator zu entfernen, führen Sie die folgenden Befehle aus:

  1. Löschen Sie das ConfigManagement-Objekt aus dem Cluster:

    kubectl delete configmanagement --all
    

    Die Ausführung dieses Befehls führt zu Folgendem:

    • Alle von ConfigManagement Operator im Cluster erstellten ClusterRoles und ClusterRoleBindings werden aus dem Cluster gelöscht.
    • Alle vom ConfigManagement Operator installierten Zulassungs-Controller-Konfigurationen werden gelöscht.
    • Der Inhalt des Namespace config-management-system wird mit Ausnahme des Secrets git-creds und für Versionen von Config Sync ab 1.9.0, für die config-management-operator-Bereitstellung und für den config-management-operator-Pod 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-Operators erforderliche CRD ist noch vorhanden, da sie aus Sicht von Kubernetes vom 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