停用混合型區域

本指南說明在多地區環境中停用地區的程序。

停用混合型區域

  1. 將 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       apigee
    
    kubectl config use-context gke_example-org-1_us-west1_example-cluster-2
  2. 驗證區域中所有 Pod 是否處於執行或已完成狀態:
    kubectl get pods -n APIGEE_NAMESPACE
  3. 使用 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
  4. 驗證 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
  5. 刪除您剛選取的脈絡中的 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_NAMEENV_GROUP_RELEASE_NAME 是用來追蹤 apigee-envapigee-virtualhost 圖表安裝和升級情形的名稱。Helm 版本名稱在 Apigee 混合式安裝環境中不得重複。如果環境名稱是唯一的,則可以與 ENV_NAME 相同。不過,如果您為環境和環境群組使用相同的名稱,請務必為每個群組輸入不重複的 Helm 發布名稱。舉例來說,如果兩者都命名為 dev,您可以使用 dev-env-releasedev-envgroup-release

    您可以使用 helm list 指令查看版本名稱清單:

    helm list -n APIGEE_NAMESPACE

  6. 確認 Apigee 命名空間中沒有任何剩餘的 Pod:
    kubectl get pods -n APIGEE_NAMESPACE
    
  7. 將背景設定為其他現有區域,並確認從現有環中移除 Cassandra 資料中心。輸出內容不應顯示已移除的資料中心詳細資料。
    kubectl exec apigee-cassandra-default-0 -n APIGEE_NAMESPACE  -- nodetool -u JMX_USER -pw JMX_PASSWORD status