當遇到控制平面向數據平面大量推送無關配置導致效率低下時,您可以借助自適應配置推送優化功能來提升控制平面的推送效率。通過分析服務間的實際調用關系,該功能自動為服務生成優化后的Sidecar資源,僅為必要的服務推送必需的Sidecar配置,減少不必要的網絡通信,增強服務網格的性能和響應速度。
前提條件
背景信息
在默認情況下,由于不能確定網格內服務之間的調用依賴關系,Sidecar的配置中保存了數據平面內所有服務的信息。每次針對控制平面或數據平面的修改(例如在控制平面新建一條虛擬服務規則),都會導致控制平面向數據平面的所有Sidecar推送新的配置。
您可以通過開啟自適應配置推送優化功能,為服務自動創建用于配置推送優化的Sidecar資源。功能開啟后,集群中會部署名為istio-axds-egressgateway的出口網關,所有HTTP流量初始都將導向該出口網關,并通過網關記錄的訪問日志自動分析服務之間的依賴關系,無需您手動管理。關于應用Sidecar資源的配置推送優化效果,請參見應用Sidecar資源后的配置推送優化效果。
使用限制
ASM實例需為1.15.3.63及以上版本。關于升級實例的具體操作,請參見升級ASM實例。
自適應配置推送優化功能僅支持基于HTTP協議訪問的服務。
步驟一:開啟自適應配置推送優化功能
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在自適應配置推送優化頁面,打開啟用自適應配置推送優化開關,在確認對話框,單擊確定。
單擊確定后,在啟用自適應配置推送優化開關下方,會顯示更新中。更新完畢后,您可以看到啟用自適應配置推送優化開關已打開,在開關下方會顯示可自適應優化的命名空間列表。
步驟二:為命名空間開啟自適應配置推送優化
為命名空間開啟自適應配置推送優化后,命名空間內的服務都將自動地進行基于Sidecar資源的配置推送優化。您也可以在服務的annotations
中增加asm.alibabacloud.com/asm-adaptive-xds: true
注解,單獨為服務啟用自適應配置推送優化。
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在自適應配置推送優化頁面的選擇自適應優化命名空間列表,打開目標服務所在命名空間右側的開關(本文以default為例),然后在確認對話框,單擊確定。
在網格詳情頁面左側導航欄,選擇 。
在Sidecar流量配置頁面,查看Sidecar資源詳情。
您可以看到自動創建且名稱以axds開頭的Sidecar資源。每個Sidecar資源對應前提條件中已部署的Bookinfo應用中的一個服務。
步驟三:訪問應用,觸發自適應配置推送優化
獲取入口網關的IP地址。具體操作,請參見獲取入口網關地址。
在瀏覽器地址欄,輸入
http://{入口網關的IP地址}/productpage
地址,訪問Bookinfo應用。請將
{入口網關的IP地址}
替換為上一步獲取的IP地址。查看自適應優化的Sidecar資源。
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在Sidecar流量配置頁面的axds-productpage右側,單擊操作列下方的查看YAML。
YAML示例如下。
apiVersion: networking.istio.io/v1beta1 kind: Sidecar metadata: annotations: adapted-svc: productpage.default.svc.cluster.local creationTimestamp: '2024-01-05T07:52:56Z' generation: 4 labels: asm-adaptive-xds-system: 'true' asm-system: 'true' provider: asm name: axds-productpage namespace: default resourceVersion: '23688435' uid: 753e3603-6bee-4dd1-b1fc-2e735a88**** spec: egress: - hosts: - arms-prom/* - default/details.default.svc.cluster.local - default/kubernetes.default.svc.cluster.local - default/reviews.default.svc.cluster.local - istio-system/* - kube-system/* workloadSelector: labels: app: productpage
可以看到在訪問Bookinfo應用后,為優化
productpage
服務生成的Sidecar資源axds-productpage
,已經自適應地添加了productpage
服務所依賴的details
服務與reviews
服務,無需您手動配置。
相關操作
關閉自適應配置推送優化功能
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在自適應配置推送優化頁面,關閉啟用自適應配置推送優化開關,在確認對話框,單擊確定。
單擊確定后,在啟用自適應配置推送優化開關下方,會顯示更新中。更新完畢后,您可以看到啟用自適應配置推送優化開關已關閉。
在網格詳情頁面左側導航欄,選擇 。
您可以看到由自適應配置推送優化功能創建出的Sidecar資源已被刪除。
修改出口網關配置
自適應配置推送優化功能開啟后,ACK集群中會部署名為istio-axds-egressgateway的出口網關(可通過ACK控制臺目標集群的
頁面查看),所有HTTP流量初始都將導向該出口網關,并通過網關記錄的訪問日志自動分析服務之間的依賴關系。您可以根據實際需求修改出口網關的配置,以適應不同的流量壓力。登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在自適應配置推送優化頁面,單擊出口網關配置頁簽,按需修改出口網關配置,然后單擊更新設置。
單擊更新設置后,服務網格進行短暫地更新。更新完畢后,您可以看到出口網關已更新為指定的配置。
說明ASM支持修改的出口網關配置包括出口網關資源設置、網關副本數、是否開啟擴縮容HPA、網關擴縮容HPA的指標監控閾值、網關擴縮容HPA的最大副本數和最小副本數。