本指南介绍在多区域环境中停用某个区域的步骤。
停用 Hybrid 区域
- 将 kubernetes 上下文设置为需要停用的区域。
列出当前上下文以查看每个集群的上下文名称:
kubectl config get-contexts
将上下文设置为要停用的集群和区域:
kubectl config use-context CONTEXT_NAME
其中,CONTEXT_NAME 是集群和区域的上下文名称。
例如:
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
-
验证区域中的所有 Pod 是否都处于正在运行或已完成状态:
kubectl get pods -n APIGEE_NAMESPACE
-
使用 helm 验证组件的版本:
helm -n APIGEE_NAMESPACE list
例如:
helm -n apigee list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION datastore apigee 2 2024-03-29 17:08:07.917848253 +0000 UTC deployed apigee-datastore-1.12.0 1.12.0 ingress-manager apigee 2 2024-03-29 17:21:02.917333616 +0000 UTC deployed apigee-ingress-manager-1.12.0 1.12.0 redis apigee 2 2024-03-29 17:19:51.143728084 +0000 UTC deployed apigee-redis-1.12.0 1.12.0 telemetry apigee 2 2024-03-29 17:16:09.883885403 +0000 UTC deployed apigee-telemetry-1.12.0 1.12.0 exampleor apigee 2 2024-03-29 17:21:50.899855344 +0000 UTC deployed apigee-org-1.12.0 1.12.0 -
验证 Cassandra 集群的状态。
列出 cassandra pod:
kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-cassandra
例如:
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 - 在您刚刚选择的上下文中删除 Apigee 实例:
一次删除一个组件。
helm -n APIGEE_NAMESPACE delete datastore
helm -n APIGEE_NAMESPACE delete telemetry
helm -n APIGEE_NAMESPACE delete ingress-manager
helm -n APIGEE_NAMESPACE delete redis
helm -n APIGEE_NAMESPACE delete ORG_NAME
对每个环境重复运行以下命令:
helm -n APIGEE_NAMESPACE delete ENV_RELEASE_NAME
对每个环境组重复运行以下命令:
helm -n APIGEE_NAMESPACE delete ENV_GROUP_RELEASE_NAME
helm -n APIGEE_NAMESPACE delete operator
ENV_RELEASE_NAME 和 ENV_GROUP_RELEASE_NAME 是用于跟踪
apigee-env
和apigee-virtualhost
图表的安装和升级情况的名称。Helm 版本名称在您的 Apigee Hybrid 安装中必须是唯一的。如果您的环境名称是唯一的,则可以与ENV_NAME
相同。但是,如果您的环境和环境组具有相同的名称,请务必为每个环境和环境组输入唯一的 Helm 版本名称。例如,如果两个活动都名为dev
,您可以使用dev-env-release
和dev-envgroup-release
。您可以使用
helm list
命令查看版本名称列表: 。helm list -n APIGEE_NAMESPACE
- 确认 Apigee 命名空间中没有剩余的 Pod:
kubectl get pods -n APIGEE_NAMESPACE
- 将上下文设置为其他现有区域,并确保从现有环中移除 Cassandra 数据中心。输出不应显示已移除的数据中心详细信息。
kubectl exec apigee-cassandra-default-0 -n APIGEE_NAMESPACE -- nodetool -u JMX_USER -pw JMX_PASSWORD status