刪除環境

本主題說明如何刪除環境。如需相關介紹,請參閱「關於環境和環境群組」。

關於刪除環境

如要正確刪除環境,您必須進行幾項設定變更,並將這些變更套用至叢集。這些變更包括從覆寫檔案中移除環境定義、刪除 synchronizerruntimeudca 元件,最後重新套用覆寫值來還原叢集,但不包含您要刪除的環境。

您無法只在一個步驟中刪除環境,是因為其他元素 (synchronizerruntimeudca) 會透過內部設定連結至各個環境。只有刪除並重新套用這些設定,才能正確刪除環境。

如何刪除環境

假設您有兩個環境,分別是 testprod。在覆寫檔案中,定義可能會如下所示:

...
envs:
  - name: test
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apitest.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apiprod.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...

如要刪除 prod 環境,請按照下列步驟操作:

  1. 複製原始覆寫檔案 (包含 prodtest 環境定義) 到名為 prod-delete.yaml 的新檔案中。
  2. 開啟 prod-delete.yaml
  3. envs 中刪除 test 環境定義,只保留 prod 定義。例如:
    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
  4. prod-delete.yaml 中移除所有內容,除了 cassandra 設定 (如果有):

    完成上述變更後,覆寫檔案應如下所示:

    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    cassandra:
      replicaCount: 3
      resources:
        requests:
          cpu: 3500m
          memory: 7Gi
      storage:
        storageClass: pd-ssd
        capacity: 10Gi
    
      
  5. Run this command to delete the specified components:
    apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
  6. 開啟原始覆寫檔案 (包含測試和實際工作環境定義的檔案)。
  7. envs 元素中刪除 prod 環境定義。您只想在檔案中顯示 test 環境定義。
  8. 將修改後的覆寫檔案套用至叢集。這個指令會重新建立已刪除的元素,但由於省略了該指令,因此不會重新建立 prod 環境。
    apigeectl apply -f prod-delete.yaml -c runtime, udca, synchronizer
  9. 儲存變更。

  10. 您尚未完成設定。您現在必須在混合式 UI 中更新環境。

  11. 開啟瀏覽器,前往 Apigee UI 的混合式 UI。
  12. 請按照在混合式 UI 中刪除現有環境一文所述的步驟移除環境。