全部產品
Search
文件中心

Alibaba Cloud Service Mesh:使用Envoy過濾器模板建立Envoy過濾器

更新時間:Jun 30, 2024

ASM支援通過Envoy過濾器模板建立Envoy過濾器。同一個Envoy過濾器模板可以被用來建立多個Envoy過濾器,應用於不同的工作負載和命名空間,從而提高配置的複用性和管理效率。在ASM進行版本升級時,Envoy過濾器模板可以自動建立或變更對應的Envoy過濾器,保證新舊版本之間的平滑過渡,減少手動維護的複雜性和潛在的錯誤。

前提條件

已添加叢集到ASM執行個體,且ASM執行個體版本為1.12.4.0及以上。關於如何升級ASM執行個體,請參見升級ASM執行個體

Envoy過濾器模板與Envoy過濾器關係

Envoy過濾器模板與Envoy過濾器之間是抽象與執行個體化的關係。Envoy過濾器模板充當一個藍圖或定義,規定了建立實際啟動並執行Envoy過濾器時所需的配置資訊和參數。

  • Envoy過濾器模板:一個預定義的配置結構,包含了建立Envoy過濾器所需要的所有規則和參數模板。模板定義了如何對通過Envoy代理的流量進行處理,但它本身並不直接應用於流量。

  • Envoy過濾器:根據模板建立的實際配置實體,它被應用於服務網格中的Envoy代理,以過濾和處理通過代理的流量。一個Envoy過濾器是模板的具體執行個體化,它將模板中的規則和參數應用於真實的服務流量中。

由於Envoy過濾器存在版本相容性風險,自行建立Envoy過濾器對網格的升級與維護都造成了較大挑戰。從ASM自1.12.4.0版本起,支援通過管理Envoy過濾器模板來建立Envoy過濾器。在Service Mesh進行版本升級時,Envoy過濾器模板將根據適配的版本自動建立或變更對應的Envoy過濾器,從而控制Envoy過濾器的版本相容風險,降低Envoy過濾器使用門檻。

建立Envoy過濾器模板後,您需要將Envoy過濾器模板綁定至指定的工作負載及命名空間,然後ASM會自動建立對應的Envoy過濾器。一個Envoy過濾器模板可以綁定多個工作負載和命名空間,您可以通過這種方式建立多個Envoy過濾器。

步驟一:建立Envoy過濾器模板

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

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器模板,然後單擊建立Envoy過濾器模板

  3. 建立頁面的基本資料地區,輸入Envoy過濾器模板的名稱。

  4. 多版本適配Envoy過濾器模板地區,單擊添加Envoy過濾器模板適配版本,選擇適配Istio版本,輸入適配該版本的Envoy過濾器內容,然後單擊建立

    說明
    • 如果您的ASM版本為1.18.0.146及以上,適配Istio版本地區預設選中無最小版本下限無最大版本上限。若您需要自訂Isito版本區間,可以取消選中無最小版本下限無最大版本上限,然後輸入自訂版本。

    • 關於Envoy過濾器(Envoy Filter)的配置樣本和欄位說明,請參見Envoy Filter

    建立完成後,您可以在Envoy過濾器模板頁面,查看已建立的Envoy過濾器模板。

步驟二:將Envoy過濾器模板綁定至工作負載或命名空間

Envoy過濾器模板建立成功後,您需要將Envoy過濾器模板綁定至指定的工作負載或命名空間,從而使Envoy過濾器僅在指定工作負載或命名空間上生效。綁定工作負載或命名空間後,將自動建立Envoy過濾器。請您按照實際版本選擇以下操作。

ASM版本為1.18.0.146以下

綁定Envoy過濾器模板與工作負載

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

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器模板

  3. Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的編輯模板

  4. 編輯Envoy過濾器模板頁面,單擊綁定工作負載頁簽,然後單擊選定工作負載綁定

  5. 選定工作負載綁定對話方塊,選擇命名空間工作負載類型,單擊未綁定地區目標工作負載右側的綁定,然後單擊確定

    在網格詳情頁面左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器。在Envoy過濾器頁面,可以看到自動建立的Envoy過濾器。

綁定Envoy過濾器模板與命名空間

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

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器模板

  3. Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的編輯模板

  4. 編輯Envoy過濾器模板頁面,單擊綁定工作負載頁簽,然後單擊綁定命名空間

  5. 綁定命名空間對話方塊的未綁定地區,單擊目標命名空間的名稱,然後單擊確定

    說明

    如果您綁定的命名空間是istio-system,則會讓EnvoyFilter全域生效,您已經建立的其它綁定都將自動解除綁定,因此您需要二次確認是否綁定istio-system。

    在網格詳情頁面左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器。在Envoy過濾器頁面,可以看到自動建立的Envoy過濾器。

ASM版本為1.18.0.146及以上

綁定Envoy過濾器模板與工作負載

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

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器模板

  3. Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的編輯模板

  4. 編輯Envoy過濾器模板頁面下方,查看綁定工作負載地區。

    如果頁面顯示模板已適配此版本,但還未建立應用於此版本資料面的Envoy過濾器,單擊右側的建立

  5. 綁定工作負載地區,單擊選定工作負載綁定,在選定工作負載綁定對話方塊,選擇命名空間工作負載類型,在未綁定地區的操作列,單擊目標工作負載對應的綁定,然後單擊確定

    在網格詳情頁面左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器。在Envoy過濾器頁面,可以看到自動建立的Envoy過濾器。

綁定Envoy過濾器模板與命名空間

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

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器模板

  3. Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的編輯模板

  4. 編輯Envoy過濾器模板頁面下方,查看綁定工作負載地區。

    如果頁面顯示模板已適配此版本,但還未建立應用於此版本資料面的Envoy過濾器,單擊右側的建立

  5. 綁定工作負載地區,單擊綁定命名空間,在綁定命名空間對話方塊的未綁定地區,單擊目標命名空間的名稱,然後單擊確定

    說明

    如果您綁定的命名空間是istio-system,則會讓EnvoyFilter全域生效,您已經建立的其它綁定都將自動解除綁定,因此您需要二次確認是否綁定istio-system。

    在網格詳情頁面左側導覽列,選擇外掛程式擴充中心 > Envoy過濾器。在Envoy過濾器頁面,可以看到自動建立的Envoy過濾器。

相關操作

修改Envoy過濾器

說明

僅支援修改通過自訂模板建立的Envoy過濾器,不支援修改通過預置模板建立的Envoy過濾器。在Envoy過濾器模板頁面中顯示為ASM外掛程式的Envoy過濾器模板即為預置模板。

Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的編輯模板,修改配置參數,然後單擊變更模板內容。修改Envoy過濾器模板後,將自動更新Envoy過濾器。

刪除Envoy過濾器

  • 通過解除綁定Envoy過濾器模板與工作負載的方式刪除Envoy過濾器

    Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的編輯模板,單擊綁定工作負載頁簽,單擊選定工作負載綁定,在選定工作負載綁定對話方塊的已綁定地區中單擊解除綁定,然後單擊確定。解除綁定Envoy過濾器模板與工作負載後,將自動刪除對應的Envoy過濾器。

  • 通過解除綁定Envoy過濾器模板與命名空間的方式刪除Envoy過濾器

    Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的編輯模板,單擊綁定工作負載頁簽,單擊綁定命名空間,在綁定命名空間對話方塊的已綁定地區中單擊命名空間名稱,然後單擊確定。解除綁定Envoy過濾器模板與命名空間後,將自動刪除對應的Envoy過濾器。

  • 通過刪除Envoy過濾器模板方式刪除Envoy過濾器

    Envoy過濾器模板頁面,單擊目標Envoy過濾器模板右側操作列下的刪除,在彈出的對話方塊中單擊確定。刪除Envoy過濾器模板後,將自動刪除Envoy過濾器。