hierarchyController.enablePodTreeLabels: if true, and you use
hierarchical observability,
don't proceed with the steps on this page. Instead, reach out to
Cloud Customer Care for help removing Hierarchy Controller.
hierarchyController.enabled: if true, follow the instructions on
this page to disable Hierarchy Controller.
When you disable Hierarchy Controller, it deletes the Hierarchy Controller
components in your cluster. It does not
delete the Hierarchy Controller Custom Resource Definitions (CRD). You
need to manually remove those CRDs using kubectl:
HierarchyConfiguration
HNCConfiguration
SubnamespaceAnchor
HierarchicalResourceQuota
To remove the Hierarchy Controller fields, review the instructions
for the method that you used to install Hierarchy Controller:
[[["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-25 UTC."],[],[],null,["# Disable Hierarchy Controller\n\nThis page explains how to disable Hierarchy Controller so that you can\nupgrade Config Sync.\n\nHierarchy Controller is no longer available. Starting in version 1.20.0,\nConfig Sync blocks upgrades if Hierarchy Controller is installed.\n\nTo determine how to disable Hierarchy Controller, inspect the\n[`kubectl` `ConfigManagement` object](/kubernetes-engine/enterprise/config-sync/docs/configmanagement-fields)\nor [`gcloud` `apply spec` file](/kubernetes-engine/enterprise/config-sync/docs/reference/gcloud-apply-fields#hierarchy_controller)\nand take an action that corresponds to the value in the following fields:\n\n- `hierarchyController.enablePodTreeLabels`: if `true`, and you use [hierarchical observability](/kubernetes-engine/enterprise/config-sync/docs/how-to/observing-hierarchical-workloads#enable_hierarchical_observability), don't proceed with the steps on this page. Instead, reach out to [Cloud Customer Care](/support/docs) for help removing Hierarchy Controller.\n- `hierarchyController.enabled:` if `true`, follow the instructions on this page to disable Hierarchy Controller.\n\nWhen you disable Hierarchy Controller, it deletes the Hierarchy Controller\ncomponents in your cluster. It does not\ndelete the Hierarchy Controller Custom Resource Definitions (CRD). You\nneed to manually remove those CRDs using `kubectl`:\n\n- `HierarchyConfiguration`\n- `HNCConfiguration`\n- `SubnamespaceAnchor`\n- `HierarchicalResourceQuota`\n\nTo remove the Hierarchy Controller fields, review the instructions\nfor the method that you used to install Hierarchy Controller: \n\n### gcloud\n\nRemove the `hierarchyController` block from your\n[Google Cloud CLI `apply spec` file](/kubernetes-engine/enterprise/config-sync/docs/reference/gcloud-apply-fields#hierarchy_controller).\n\n### Terraform\n\nRemove the `hierarchyController` block from your\n[Terraform resource](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/gke_hub_feature_membership#argument-reference).\n\n### Config Connector\n\nSet Hierarchy Controller fields to `false` in the\n[`GKEHubFeatureMembership`](/config-connector/docs/reference/resource-docs/gkehub/gkehubfeaturemembership)\nresource.\n| **Important:** Don't remove the Hierarchy Controller fields from the `GKEHubFeatureMembership` resource. Removing the fields doesn't disable Hierarchy Controller and causes the fields to become [externally-managed](/config-connector/docs/concepts/managing-fields-externally) instead of managed by Config Connector.\n\n### kubectl\n\nRemove the `hierarchyController` block from the\n[`ConfigManagement` object](/kubernetes-engine/enterprise/config-sync/docs/configmanagement-fields)."]]