如何設定區域感知路由?

啟用來源服務(“cluster_a”)與目標服務(“cluster_b”)之間的區域感知路由需要幾個步驟。

來源服務上的 Envoy 組態

本節描述與來源服務並行運行的 Envoy 的特定組態。以下為需求:

  • Envoy 必須使用 --service-zone 選項啟動,該選項定義當前主機的區域。

  • 來源和目標叢集的定義都必須具有 EDS 類型。

  • local_cluster_name 必須設定為來源叢集。

    以下組態僅列出叢集管理器的必要部分。

cluster_manager:
  local_cluster_name: cluster_a
static_resources:
  clusters:
  - name: cluster_a
    type: EDS
    eds_cluster_config: ...
  - name: cluster_b
    type: EDS
    eds_cluster_config: ...

目標服務上的 Envoy 組態

不一定需要讓 Envoy 與目標服務並行運行,但重要的是,目標叢集中的每個主機都必須向來源服務 Envoy 查詢的探索服務註冊。區域資訊必須作為該回應的一部分提供。

以下回應僅列出與區域相關的資料。

locality:
  zone: us-east-1d

基礎設施設定

上述組態對於區域感知路由是必要的,但在某些情況下,不會執行區域感知路由。

驗證步驟

  • 使用 每個區域 Envoy 統計資訊來監控跨區域流量。