Stay organized with collections Save and categorize content based on your preferences.
This page shows you how to uninstall Config Sync from your cluster, disable the Config Management fleet feature on your fleet, and uninstall the ConfigManagement Operator.
This page is for IT administrators and Operators who manage the lifecycle of the underlying tech infrastructure. To learn more about common roles and example tasks that we reference in Google Cloud content, see Common GKE user roles and tasks.
The Config Management fleet feature manages Config Sync using the ConfigManagement Operator. Because of this architecture, the uninstall steps must be completed in the following order:
RootSync
and RepoSync
objects on the cluster. Before you continue, you should check the deletion propagation policies on your RootSync
and RepoSync
objects. For more information, see Bulk delete objects. Console
You can't uninstall Config Sync with only the Google Cloud console. Use Google Cloud CLI instead.
gcloudOpen the applySpec manifest that you created during installation with the Google Cloud CLI.
In the applySpec manifest, set spec.configSync.enabled
to false
:
applySpecVersion: 1
spec:
configSync:
enabled: false
...
Apply the changes:
gcloud beta container fleet config-management apply \
--membership=MEMBERSHIP_NAME \
--config=CONFIG_YAML \
--project=PROJECT_ID
Replace the following:
MEMBERSHIP_NAME: add the registered cluster that you want to apply this configuration to. If you registered the cluster in the Google Cloud console, the membership name is the same as the name of your cluster.
CONFIG_YAML: add the path to your apply-spec.yaml
file.
PROJECT_ID: add your project ID.
If you used Terraform to install Config Sync using a gke_hub_feature_membership resource from the Google Cloud Platform Provider, then update that resource to uninstall Config Sync. Don't use the terraform destroy
command. The terraform destroy
command doesn't fully uninstall Config Sync. Some components remain.
Identify the gke_hub_feature_membership
resource in your Terraform configuration files that has a configmanagement
argument populated.
Update the gke_hub_feature_membership
resource to remove the config_sync
argument from the configmanagement
.
For example:
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"
}
}
Apply the Terraform configuration:
terraform apply
Confirm you want to apply the actions described by entering yes
.
If you used Config Connector to install Config Sync using a GKEHubFeatureMembership resource, then update that resource to uninstall Config Sync.
Identify the GKEHubFeatureMembership
resource object on your cluster that has a .spec.configmanagement.configSync
field populated.
Patch the GKEHubFeatureMembership
resource object to remove the .spec.configmanagement.configSync
field by setting it to null:
kubectl patch GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
--namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE \
-p '{"spec":{"configmanagement":{"configSync": null}}}'
Replace the following:
FEATURE_MEMBERSHIP_OBJECT_NAME: add the name of the GKEHubFeatureMembership
resource object that you previously created.
FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: add the namespace that contains the GKEHubFeatureMembership
resource object that you previously created.
In the Config Management row of the Features table, click Details. The Status summary page appears.
Click Disable Config Management. A confirmation page appears.
On the confirmation page, click Disable Config Management.
To disable Config Management on all clusters in the fleet, run the following command:
gcloud beta container fleet config-management disable
Note: The preceding commands don't stop status reporting. If you want to stop status reporting, you need to unregister your cluster.If you used Terraform to enable the Config Management feature on your fleet using a google_gke_hub_feature resource from the from the Google Cloud Platform Provider, then update that resource to disable Config Management on all clusters in the fleet.
Update the HCL file that contains your google_gke_hub_feature
resource to remove the google_gke_hub_feature
resource.
If you still have a gke_hub_feature_membership
resource defined with a feature
field that references the removed google_gke_hub_feature
, remove that gke_hub_feature_membership
resource too.
Apply the Terraform configuration:
terraform apply
Confirm you want to apply the actions described by entering yes
.
If you used Config Connector to enable the Config Management feature on your fleet using a GKEHubFeature resource, then update that resource to disable Config Management on all clusters in the fleet.
Identify the GKEHubFeature
resource object on your cluster that has a .spec.resourceID
value of configmanagement
.
If you still have a GKEHubFeatureMembership
resource object defined with a .spec.featureRef
field that references that GKEHubFeature
resource object, delete it:
kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
--namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
Replace the following:
FEATURE_MEMBERSHIP_OBJECT_NAME: add the name of the GKEHubFeatureMembership
resource object that you previously created.
FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: add the namespace that contains the GKEHubFeatureMembership
resource object that you previously created.
Delete the GKEHubFeature
resource from your cluster:
kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
--namespace FEATURE_OBJECT_NAMESPACE
Replace the following:
FEATURE_OBJECT_NAME: add the name of the GKEHubFeature
resource object that you previously created.
FEATURE_OBJECT_NAMESPACE: add the namespace that contains the GKEHubFeature
resource object that you previously created.
Use kubectl
to delete the ConfigManagement Operator after you disable Config Management feature on the fleet or unregister your cluster from the fleet.
To remove the ConfigManagement Operator, run the following commands:
Delete the ConfigManagement object from the cluster:
kubectl delete configmanagement --all
After you run this command, the following things happen:
config-management-system
namespace are deleted, with the exception of the git-creds
Secret, and for versions of Config Sync beginning in 1.9.0, the config-management-operator
Deployment, and the config-management-operator
Pod. ConfigManagement Operator cannot function without the config-management-system
namespace. Any CustomResourceDefinitions (CRDs) created or modified by ConfigManagement Operator controller are removed from the clusters where they were created or modified. The CRD required to run ConfigManagement Operator still exists because from the point of view of Kubernetes, they were added by the user who installed ConfigManagement Operator. Information about removing these components is covered in the next step.If you need to retain the git-creds
Secret, do that now:
kubectl -n config-management-system get secret git-creds -o yaml
Delete the config-management-system
namespace:
kubectl delete ns config-management-system
Delete the config-management-monitoring
namespace:
kubectl delete ns config-management-monitoring
Delete the ConfigManagement CustomResourceDefinition:
kubectl delete crd configmanagements.configmanagement.gke.io
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4