Désinstaller Config Sync

Cette page explique comment désinstaller Config Sync de votre cluster, désactiver la fonctionnalité de parc Config Management de 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 sur 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 avec 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 à jour cette ressource pour désinstaller Config Sync.

  1. Identifiez l'objet de ressource GKEHubFeatureMembership de votre cluster dans lequel un 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 de ressource GKEHubFeatureMembership que vous avez créé précédemment.

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

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 sous la section Fonctionnalités du parc.

    Accéder à la page "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 sur votre parc à l'aide d'une ressource google_gke_hub_feature provenant du Fournisseur Google Cloud Platform, mettez à jour cette ressource pour 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 ressource 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 dans votre cluster dont la valeur .spec.resourceID est configmanagement.

  2. Si vous disposez toujours d'un objet de ressource GKEHubFeatureMembership défini avec un champ .spec.featureRef qui fait 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 de ressource GKEHubFeatureMembership que vous avez créé précédemment.

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

  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 de 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 précédemment créé.

Désinstaller ConfigManagement Operator

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

Pour supprimer 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 ClusterRoleBindings créés dans le cluster par ConfigManagement Operator sont supprimés du cluster.
    • Toutes les configurations de contrôleurs 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, Config Sync et Config Controller à partir de la version 1.9.0, le déploiement config-management-operator et le 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. Le CRD requis pour exécuter ConfigManagement Operator est toujours présent car, du point de vue de Kubernetes, il a été ajouté 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