關於環境

環境會為執行 API 代理程式提供隔離的背景或「沙箱」。 您可以在單一機構中建立多個環境。詳情請參閱「關於環境和環境群組」。

以下程式碼顯示覆寫設定的範例,其中定義了多個環境。請注意,prodtest 環境有不同的主機別名:

namespace: my-namespace
org: my-organization
...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json

  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...
  • 新增 virtualhosts 屬性,將其 routingRules 對應至環境。
    virtualhosts:
      - name: default
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
        routingRules:
          - env: test
    virtualhosts:
      - name: external
        hostAliases: ["apiprod.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
        routingRules:
          - env: prod

    假設有一個 Proxy 已部署至環境 test,其基本路徑為 /foo1。您可以呼叫 Proxy,如下所示:

    curl -k https://api.example.com/foo1

    當這項呼叫命中 ingress 時,ingress 會知道要將其傳送至與 test 環境相關聯的訊息處理工具,以便處理要求。

    同樣地,如果 foo1 也部署至 prod 環境,您可以向主機別名 apiprod.mydomain.net 提出類似的 Proxy 要求:

    curl -k https://apiprod.example.com/foo1

    然後由 ingress 將呼叫轉送至與該主機相關聯的 MP。

    反模式:將所有 Proxy 部署至單一混合式環境。

    最佳做法:建立多個環境,並在每個環境中部署有限數量的 Proxy。您可以建立轉送規則,指定要將特定 API 代理程 basepath 轉送至哪些環境。詳情請參閱「虛擬主機設定」。

    限制 Proxy 部署數量

    對於混合式,由於許多環境可共用相同的虛擬主機,因此您必須仔細思考如何管理對任何特定環境的 Proxy 部署作業。在混合式中,最佳做法是建立多個環境,並在每個環境中部署有限數量的 Proxy。

    您應該在環境中部署多少 Proxy?這個問題沒有固定答案,不過下表提供一般指引,說明為何限制部署至各環境的 Proxy 數量,以及管理 Proxy 部署作業時需要考量的事項:

    需要考量的事項 說明
    訊息處理器啟動時間 訊息處理器 (MP) 啟動所需的時間與部署至該 MP 的 Proxy 數量之間有直接關聯。在自動調整的 Kubernetes 環境中,啟動時間增加可能會造成問題。部署至 MP 的 Proxy 越多,如果需要縮放或重建,MP 啟動所需的時間就會越長。
    擴大效能 如果您在環境中部署了多個 Proxy,其中一個 Proxy 獲得大量流量,因此經常自動調整規模,那麼該環境中的所有 Proxy 都會隨之調整。使用單一高流量 Proxy 來擴充多個 Proxy 的效能效果可能會出現問題。
    吵雜的鄰居 如果您在同一個環境中部署了多個 Proxy,其中一個 Proxy 發生當機,則在 MP 重新啟動時,環境中的所有 Proxy 都會關閉。限制部署至環境的 Proxy 數量,即可將單一 Proxy 當機的影響降至最低。

    環境設定參考資料

    如需完整的環境設定元素清單,請參閱「設定屬性參考資料」中的 envs

    使用環境

    如要進一步瞭解設定,請參閱下列主題: