Decommission a hybrid region

You are currently viewing version 1.14 of the Apigee hybrid documentation. For more information, seeSupported versions.

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

  1. 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-contexts  CURRENT  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
  2. Validate all the pods in the region are in a running or completed state:
    kubectl get pods -nAPIGEE_NAMESPACE
    Note: You can use any namespace.apigee is the default namespace. Be sure to replaceAPIGEE_NAMESPACE with the name of your namespace in the following commands.
  3. Validate the release of components using helm:
    helm -nAPIGEE_NAMESPACE list

    For example:

    helm -n apigee list  NAME              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
  4. 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-cassandra  NAME                          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
  5. Delete the Apigee instance in the context you just selected:

    Delete the components one at a time.

    Note: In the followinghelm delete commands, 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-1

    helm -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 theapigee-env andapigee-virtualhost charts. 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 nameddev you could use something likedev-env-release anddev-envgroup-release.

    You can see a list of release names with thehelm list command:

    helm list -n APIGEE_NAMESPACE
    .

  6. Verify there are no pods remaining in the Apigee namespaces:
    kubectl get pods -nAPIGEE_NAMESPACE
  7. 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
  8. 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.