Decommission a hybrid region Stay organized with collections Save and categorize content based on your preferences.
This guide explains the procedure to decommission a region in a multi region environment.
Please ensure there is no live traffic going to the region you plan to delete.Decommission a hybrid region
- Set the kubernetes contexts to the region that needs to be decommissioned.
List your current contexts to see the context name for each cluster:
kubectl config get-contexts
Set the context to the cluster and region you want to decommission:
kubectl config use-contextCONTEXT_NAME
WhereCONTEXT_NAME is the context name for the cluster and region.
For example:
kubectl config get-contextsCURRENT NAME CLUSTER AUTHINFO NAMESPACE gke_example-org-1_us-central1_example-cluster-1 gke_example-org-1_us-central1_example-cluster-1 gke_example-org-1_us-central1_example-cluster-1 apigee * gke_example-org-1_us-central1_example-cluster-2 gke_example-org-1_us-central1_example-cluster-2 gke_example-org-1_us-central1_example-cluster-2 apigee gke_example-org-1_us-west1_example-cluster-2 gke_example-org-1_us-west1_example-cluster-2 gke_example-org-1_us-west1_example-cluster-2 apigeekubectl config use-context gke_example-org-1_us-west1_example-cluster-2 - Validate all the pods in the region are in a running or completed state:
Note: You can use any namespace.kubectl get pods -nAPIGEE_NAMESPACE
apigeeis the default namespace. Be sure to replaceAPIGEE_NAMESPACEwith the name of your namespace in the following commands. - Validate the release of components using helm:
helm -nAPIGEE_NAMESPACE list
For example:
helm -n apigee listNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION datastore apigee 2 2024-03-29 17:08:07.917848253 +0000 UTCdeployed apigee-datastore-1.12.01.12.0 ingress-manager apigee 2 2024-03-29 17:21:02.917333616 +0000 UTCdeployed apigee-ingress-manager-1.12.01.12.0 redis apigee 2 2024-03-29 17:19:51.143728084 +0000 UTCdeployed apigee-redis-1.12.01.12.0 telemetry apigee 2 2024-03-29 17:16:09.883885403 +0000 UTCdeployed apigee-telemetry-1.12.01.12.0 exampleor apigee 2 2024-03-29 17:21:50.899855344 +0000 UTCdeployed apigee-org-1.12.01.12.0 - Validate the status of the Cassandra cluster.
List the cassandra pods:
kubectl get pods -nAPIGEE_NAMESPACE -l app=apigee-cassandra
For example:
kubectl get pods -n apigee -l app=apigee-cassandraNAME READY STATUS RESTARTS AGE apigee-cassandra-default-0 1/1 Running 0 2h apigee-cassandra-default-1 1/1 Running 0 2h apigee-cassandra-default-2 1/1 Running 0 2h apigee-cassandra-default-3 1/1 Running 0 16m apigee-cassandra-default-4 1/1 Running 0 14m apigee-cassandra-default-5 1/1 Running 0 13m apigee-cassandra-default-6 1/1 Running 0 9m apigee-cassandra-default-7 1/1 Running 0 9m apigee-cassandra-default-8 1/1 Running 0 8m - Delete the Apigee instance in the context you just selected:
Delete the components one at a time.
Note: In the followinghelm deletecommands, the names given for the compnents are the release names, the names specified for the component when they were installed. For example, if you installed the datastore component with the helm commandhelm installdatastore apigee-datastore, the release name for the component isdatastore. If you used different release names when installing the components, specify those names when deleting them.For example:
helm -nAPIGEE_NAMESPACE delete my-datastore-region-1helm -nAPIGEE_NAMESPACE delete datastore
helm -nAPIGEE_NAMESPACE delete telemetry
helm -nAPIGEE_NAMESPACE delete ingress-manager
helm -nAPIGEE_NAMESPACE delete redis
helm -nAPIGEE_NAMESPACE deleteORG_NAME
Repeat the following command for every environment:
helm -nAPIGEE_NAMESPACE deleteENV_RELEASE_NAME
Repeat the following command for every environment group:
helm -nAPIGEE_NAMESPACE deleteENV_GROUP_RELEASE_NAME
helm -nAPIGEE_NAMESPACE delete operator
ENV_RELEASE_NAME andENV_GROUP_RELEASE_NAME are names used to keep track of installation and upgrades of the
apigee-envandapigee-virtualhostcharts. Helm release names must be unique within your Apigee hybrid installation. If your environment name is unique, this can be the same asENV_NAME. However, if you have the same name for your environment and environment group, make sure to enter a unique Helm release name for each. For example, if both are nameddevyou could use something likedev-env-releaseanddev-envgroup-release.You can see a list of release names with the
helm listcommand: .helm list -n APIGEE_NAMESPACE
- Verify there are no pods remaining in the Apigee namespaces:
kubectl get pods -nAPIGEE_NAMESPACE
- Set the context to other existing regions and make sure the cassandra datacenter is removed from the existing ring. The output should not show the removed data center details.
kubectl execapigee-cassandra-default-0 -nAPIGEE_NAMESPACE -- nodetool -uJMX_USER -pwJMX_PASSWORD status
Note: If the entries of the deleted datacenter are still present in the Cassandranodetool output, see Stale references to deleted secondary region pods in Cassandra cluster.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.