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 :
- Désinstaller Config Sync de votre cluster
- Désactiver la fonctionnalité Config Management sur votre parc
- 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
Ouvrez le fichier manifeste applySpec que vous avez créé lors de l'installation avec Google Cloud CLI.
Dans le fichier manifeste applySpec, définissez
spec.configSync.enabled
surfalse
:applySpecVersion: 1 spec: configSync: enabled: false ...
(obligatoire uniquement pour les clusters utilisant les mises à niveau automatiques de Config Sync) Dans le fichier manifeste applySpec, définissez
spec.upgrades
surauto
:applySpecVersion: 1 spec: upgrades: auto configSync: enabled: false ...
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.
Identifiez la ressource
gke_hub_feature_membership
dans vos fichiers de configuration Terraform dans laquelle un argumentconfigmanagement
est renseigné.Mettez à jour la ressource
gke_hub_feature_membership
pour supprimer l'argumentconfig_sync
deconfigmanagement
.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" } }
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.
Identifiez l'objet de ressource
GKEHubFeatureMembership
de votre cluster dans lequel un champ.spec.configmanagement.configSync
est renseigné.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
- Dans la console Google Cloud, accédez à la page Gestion des fonctionnalités de GKE Enterprise sous la section Fonctionnalités du parc.
Dans la ligne Config Management de la table Fonctionnalités, cliquez sur Détails. La page Résumé de l'état s'affiche.
Cliquez sur Désactiver Config Management. Une page de confirmation s'affiche.
Sur la page de confirmation, cliquez sur Désactiver Config Management.
gcloud
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.
Mettez à jour le fichier HCL contenant votre ressource
google_gke_hub_feature
pour supprimer la ressourcegoogle_gke_hub_feature
.Si une ressource
gke_hub_feature_membership
est toujours définie avec un champfeature
qui fait référence à la ressourcegoogle_gke_hub_feature
supprimée, supprimez également cette ressourcegke_hub_feature_membership
.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.
Identifiez l'objet de ressource
GKEHubFeature
dans votre cluster dont la valeur.spec.resourceID
estconfigmanagement
.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 ressourceGKEHubFeature
, 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éé.
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 :
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 secretgit-creds
, et pour les versions de Policy Controller, Config Sync et Config Controller à partir de la version 1.9.0, le déploiementconfig-management-operator
et le podconfig-management-operator
. ConfigManagement Operator ne peut pas fonctionner sans l'espace de nomsconfig-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.
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
Supprimez l'espace de noms
config-management-system
:kubectl delete ns config-management-system
Supprimez l'espace de noms
config-management-monitoring
:kubectl delete ns config-management-monitoring
Supprimez l'objet CustomResourceDefinition ConfigManagement :
kubectl delete crd configmanagements.configmanagement.gke.io