全部產品
Search
文件中心

Alibaba Cloud Service Mesh:為多個入口網關配置統一的網關規則

更新時間:Jun 30, 2024

入口網關服務(Ingress Gateway)為Kubernetes叢集提供了七層網關功能,對外提供一個統一的七層服務入口,根據HTTP請求的內容將來自同一個TCP連接埠的請求分發到不同的Kubernetes服務。本文介紹如何為ASM執行個體中的多個入口網關配置統一的網關規則。

前提條件

背景資訊

在實際情境中,向網域名稱xxx.xxx.cn 添加兩個A記錄,分別對應兩個負載平衡CLB。這兩個CLB分別對應到兩個ASM入口網關,且兩個入口網關的規則配置相同。為了保持網關規則配置的一致性,需要將一個共用的網關規則關聯到多個ASM網關上。ASM支援多個入口網關使用同一個網關配置規則,簡化您的配置操作。關於入口網關和網關規則的欄位說明,請參見ASM網關CRD說明Gateway CRD說明

操作步驟

一個網關規則配置可以映射到不同的網關上,映射規則根據spec.selector的配置進行選擇,因此您可以為多個網關的Deployment YAML中都添加相同的標籤,本文以key1: value1為例。

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇ASM網關 > 入口網關

  3. 入口網關頁面,單擊每一個關聯的目標入口網關右側的查看YAML

  4. 編輯對話方塊,配置podLabels欄位,然後單擊確定

    ...
    spec:
      podLabels:
        key1: value1
    ...
  5. 將網關規則配置關聯到目標網關。

    1. 在網格詳情頁面左側導覽列,選擇ASM網關 > 網關規則

    2. 網關規則頁面,單擊目標網關規則右側操作列下的查看YAML

    3. 編輯對話方塊,配置selector欄位,然後單擊確定

      apiVersion: networking.istio.io/v1beta1
      kind: Gateway
      metadata:
        name: bookinfo-gateway
        namespace: default
      spec:
        selector:
          key1: value1
        servers:
          - hosts:
              - '*'
            port:
              name: http
              number: 80
              protocol: HTTP                         

後續步驟

網關規則只用於配置監聽,您還需配置一個虛擬服務來指明流量轉寄規則。關於虛擬服務的欄位說明,請參見Virtual Service CRD說明;關於如何建立虛擬服務,請參見管理虛擬服務