Désinstaller Config Sync

Cette page explique comment désinstaller Config Sync de votre cluster, désactiver la fonctionnalité de parc Config Management sur votre parc et désinstaller ConfigManagement Operator.

La fonctionnalité de parc Config Management gère Config Sync, Policy Controller et Hierarchy Controller à l'aide de ConfigManagement Operator. En raison de cette architecture, les étapes de désinstallation doivent être effectuées dans l'ordre suivant:

  1. Désinstaller Config Sync de votre cluster
  2. Désactiver la fonctionnalité Config Management dans votre parc
  3. Désinstaller ConfigManagement Operator de votre cluster

Désinstaller Config Sync de votre cluster

Console

Vous ne pouvez pas désinstaller Config Sync uniquement avec la console Google Cloud. Utilisez plutôt Google Cloud CLI.

gcloud

  1. Ouvrez le fichier manifeste applySpec que vous avez créé lors de l'installation à l'aide de la Google Cloud CLI.

  2. Dans le fichier manifeste applySpec, définissez spec.configSync.enabled sur false:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. (Obligatoire uniquement pour les clusters utilisant les mises à niveau automatiques de Config Sync) Dans le fichier manifeste applySpec, définissez spec.upgrades sur auto:

    applySpecVersion: 1
    spec:
      upgrades: auto
      configSync:
        enabled: false
    ...
    
  4. Appliquez les modifications :

      gcloud beta container fleet config-management apply \
          --membership=MEMBERSHIP_NAME \
          --config=CONFIG_YAML \
          --project=PROJECT_ID
    

    Remplacez les éléments suivants :

    • MEMBERSHIP_NAME : ajoutez le cluster enregistré auquel vous souhaitez appliquer cette configuration. Si vous avez enregistré le cluster dans Google Cloud Console, le nom de l'appartenance est identique à celui de votre cluster.

    • CONFIG_YAML : ajoutez le chemin d'accès à votre fichier apply-spec.yaml.

    • PROJECT_ID : ajoutez l'ID de votre projet.

Terraform

Si vous avez utilisé Terraform pour installer Config Sync à l'aide d'une ressource gke_hub_feature_membership du fournisseur Google Cloud Platform, mettez à jour cette ressource pour désinstaller Config Sync.

  1. Identifiez la ressource gke_hub_feature_membership dans vos fichiers de configuration Terraform dans laquelle un argument configmanagement est renseigné.

  2. Mettez à jour la ressource gke_hub_feature_membership pour supprimer l'argument config_sync de configmanagement.

    Exemple :

    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. Appliquez la configuration Terraform :

    terraform apply
    

    Confirmez que vous souhaitez appliquer les actions décrites en saisissant yes.

Config Connector

Si vous avez utilisé Config Connector pour installer Config Sync à l'aide d'une ressource GKEHubFeatureMembership, mettez-la à jour pour désinstaller Config Sync.

  1. Identifiez l'objet de ressource GKEHubFeatureMembership de votre cluster dont le champ .spec.configmanagement.configSync est renseigné.

  2. Corrigez l'objet de ressource GKEHubFeatureMembership pour supprimer le champ .spec.configmanagement.configSync en le définissant sur "null" :

    kubectl patch GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE \
        -p '{"spec":{"configmanagement":{"configSync": null}}}'
    

    Remplacez les éléments suivants :

    • FEATURE_MEMBERSHIP_OBJECT_NAME: ajoutez le nom de l'objet ressource GKEHubFeatureMembership que vous avez créé précédemment.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: ajoutez l'espace de noms qui contient l'objet de ressource GKEHubFeatureMembership que vous avez créé précédemment.

Désactiver Config Management dans votre parc

Console

  1. Dans la console Google Cloud, accédez à la page Gestion des fonctionnalités de GKE Enterprise dans la section Fonctionnalités du parc.

    Accéder à "Gestion des caractéristiques"

  2. Dans la ligne Config Management de la table Fonctionnalités, cliquez sur Détails. La page Résumé de l'état s'affiche.

  3. Cliquez sur Désactiver Config Management. Une page de confirmation s'affiche.

  4. Sur la page de confirmation, cliquez sur Désactiver Config Management.

gcloud

  1. Pour désactiver Config Management sur tous les clusters du parc, exécutez la commande suivante:

    gcloud beta container fleet config-management disable
    

Terraform

Si vous avez utilisé Terraform pour activer la fonctionnalité Config Management dans votre parc à l'aide d'une ressource google_gke_hub_feature issue du fournisseur Google Cloud Platform, mettez à jour cette ressource afin de désactiver Config Management sur tous les clusters du parc.

  1. Mettez à jour le fichier HCL contenant votre ressource google_gke_hub_feature pour supprimer la ressource google_gke_hub_feature.

  2. Si une ressource gke_hub_feature_membership est toujours définie avec un champ feature qui fait référence à la google_gke_hub_feature supprimée, supprimez également cette ressource gke_hub_feature_membership.

  3. Appliquez la configuration Terraform :

    terraform apply
    

    Confirmez que vous souhaitez appliquer les actions décrites en saisissant yes.

Config Connector

Si vous avez utilisé Config Connector pour activer la fonctionnalité Config Management dans votre parc à l'aide d'une ressource GKEHubFeature, mettez à jour cette ressource pour désactiver Config Management sur tous les clusters du parc.

  1. Identifiez l'objet de ressource GKEHubFeature de votre cluster dont la valeur .spec.resourceID est configmanagement.

  2. Si un objet de ressource GKEHubFeatureMembership est toujours défini avec un champ .spec.featureRef qui référence cet objet de ressource GKEHubFeature, supprimez-le:

    kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
    

    Remplacez les éléments suivants :

    • FEATURE_MEMBERSHIP_OBJECT_NAME: ajoutez le nom de l'objet ressource GKEHubFeatureMembership que vous avez créé précédemment.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: ajoutez l'espace de noms qui contient l'objet de ressource GKEHubFeatureMembership que vous avez créé précédemment.

  3. Supprimez la ressource GKEHubFeature de votre cluster:

    kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
        --namespace FEATURE_OBJECT_NAMESPACE
    

    Remplacez les éléments suivants :

    • FEATURE_OBJECT_NAME: ajoutez le nom de l'objet ressource GKEHubFeature que vous avez créé précédemment.

    • FEATURE_OBJECT_NAMESPACE: ajoutez l'espace de noms contenant l'objet de ressource GKEHubFeature que vous avez créé précédemment.

Désinstaller ConfigManagement Operator

Utilisez kubectl pour supprimer l'opérateur ConfigManagement Operator après avoir désactivé la fonctionnalité Config Management dans le parc ou annuler l'enregistrement de votre cluster dans le parc.

Pour supprimer l'opérateur ConfigManagement Operator, exécutez les commandes suivantes:

  1. Supprimez l'objet ConfigManagement du cluster :

    kubectl delete configmanagement --all
    

    Une fois cette commande exécutée, voici ce qui se produit :

    • Tous les objets ClusterRole et ClusterRoleBinding créés dans le cluster par ConfigManagement Operator sont supprimés du cluster.
    • Toutes les configurations de contrôleur d'admission installées par ConfigManagement Operator sont supprimées.
    • Le contenu de l'espace de noms config-management-system est supprimé, à l'exception du secret git-creds, et pour les versions de Policy Controller, de Config Sync et de Config Controller à partir de la version 1.9.0, du déploiement config-management-operator et du pod config-management-operator. ConfigManagement Operator ne peut pas fonctionner sans l'espace de noms config-management-system. Tous les objets CustomResourceDefinition (CRD) créés ou modifiés par le contrôleur ConfigManagement Operator sont supprimés des clusters où ils ont été créés ou modifiés. Les CRD requises pour exécuter ConfigManagement Operator existent toujours, car du point de vue de Kubernetes, elles ont été ajoutées par l'utilisateur qui a installé ConfigManagement Operator. La procédure de suppression de ces composants est présentée à l'étape suivante.
  2. Si vous devez conserver le secret git-creds, procédez comme suit dès à présent :

    kubectl -n config-management-system get secret git-creds -o yaml
    
  3. Supprimez l'espace de noms config-management-system :

    kubectl delete ns config-management-system
    
  4. Supprimez l'espace de noms config-management-monitoring :

    kubectl delete ns config-management-monitoring
    
  5. Supprimez l'objet CustomResourceDefinition ConfigManagement :

    kubectl delete crd configmanagements.configmanagement.gke.io