本指南介绍在多区域环境中停用某个区域的步骤。
停用 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 apigee-ingress-manager
helm -n APIGEE_NAMESPACE delete redis
helm -n APIGEE_NAMESPACE delete ORG_NAME
对每个环境重复运行以下命令:
helm -n APIGEE_NAMESPACE delete ENV_NAME
对每个环境组重复运行以下命令:
helm -n APIGEE_NAMESPACE delete ENV_GROUP_NAME
helm -n APIGEE_NAMESPACE delete operator
- 确认 Apigee 命名空间中没有剩余的 Pod:
kubectl get pods -n APIGEE_NAMESPACE
kubectl get pods -n cert-manager
- 将上下文设置为其他现有区域,并确保从现有环中移除 Cassandra 数据中心。输出不应显示已移除的数据中心详细信息。
kubectl exec apigee-cassandra-default-0 -n APIGEE_NAMESPACE -- nodetool -u JMX_USER -pw JMX_PASSWORD status