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.

Mit dem Flottenfeature von Config Management können Config Sync, Policy Controller und Hierarchy Controller mit dem ConfigManagement Operator verwaltet werden. Aufgrund dieser Architektur müssen die Deinstallationsschritte 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. (Nur für Cluster mit automatischen Config Sync-Upgrades 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 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 in Ihren Terraform-Konfigurationsdateien die gke_hub_feature_membership-Ressource, für die das Argument configmanagement ausgefüllt 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.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, 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 Ressourcenobjekt GKEHubFeatureMembership, um das Feld .spec.configmanagement.configSync zu entfernen. Setzen Sie es dazu 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 Ressourcenobjekts GKEHubFeatureMembership hinzu.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: Fügen Sie den Namespace hinzu, der das zuvor erstellte Ressourcenobjekt GKEHubFeatureMembership enthält.

Config Management für Ihre Flotte deaktivieren

Console

  1. Rufen Sie in der Google Cloud Console im Abschnitt Flottenfeatures die GKE Enterprise-Seite Featureverwaltung auf.

    Zu „Featureverwaltung“

  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, das für .spec.resourceID den Wert configmanagement hat.

  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 Ressourcenobjekts GKEHubFeatureMembership hinzu.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: Fügen Sie den Namespace hinzu, der das zuvor erstellte Ressourcenobjekt GKEHubFeatureMembership 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 Ressourcenobjekts GKEHubFeature hinzu.

    • FEATURE_OBJECT_NAMESPACE: Fügen Sie den Namespace hinzu, der das zuvor erstellte Ressourcenobjekt GKEHubFeature 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 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.
    • Die Inhalte des Namespace config-management-system werden mit Ausnahme des Secrets git-creds und für Versionen von Policy Controller, Config Sync und Config Controller 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 zur Ausführung des ConfigManagement Operator erforderliche CRD ist noch vorhanden, da sie aus der Perspektive 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