在默認情況下,由于不能確定網格內服務之間的調用依賴關系,Sidecar的配置中保存了數據平面內所有服務的信息。您可以使用Sidecar資源配置使對應工作負載上的Sidecar將僅關注與自己有調用依賴關系的服務信息。本文介紹如何使用基于訪問日志分析自動推薦的Sidecar資源。
前提條件
已添加集群到ASM實例。具體操作,請參見添加集群到ASM實例。
已部署入口網關。具體操作,請參見創(chuàng)建入口網關。
已部署應用到ASM實例關聯(lián)的集群。具體操作,請參見在ASM實例關聯(lián)的集群中部署應用。
已使用日志服務采集數據平面的訪問日志。具體操作,請參見使用日志服務采集數據平面的AccessLog。
背景信息
在默認情況下,針對控制平面或數據平面的任意一次修改都會引起控制平面向數據平面所有Sidecar的配置推送。服務網格ASM可以通過分析數據平面Sidecar產生的訪問日志獲取數據平面服務之間的調用依賴關系,為數據平面中的每個工作負載自動推薦Sidecar資源。為工作負載推薦Sidecar資源后:
Sidecar配置內將僅保留該Sidecar對應工作負載所依賴的服務信息。
當該Sidecar資源對應的工作負載無依賴關系的服務發(fā)生改變,或與該服務相關的資源發(fā)生改變(例如虛擬服務等),都不會引起控制平面向該Sidecar的配置推送。
注意事項
如果您在設置啟用訪問日志采集時,設置日志服務Project為使用默認,ASM會默認選擇您添加到網格中的第一個集群的日志服務Project用于Sidecar資源推薦。
ASM的Sidecar資源推薦通過單獨針對每個負載單獨的服務依賴關系提供Sidecar資源,能夠最大化精簡數據面Sidecar配置,但其需要針對數據面中的每個工作負載進行單獨配置,且由于推薦基于訪問日志,如果訪問日志中沒有工作負載的服務調用記錄,可能造成推薦的Sidecar不準確,因此您需要對Sidecar進行二次確認。
步驟一:產生訪問日志
在瀏覽器地址欄輸入http://{入口網關服務的IP地址}/productpage。持續(xù)刷新,直至觀察到Bookinfo應用頁面在顯示黑色星星圖標和紅色星星圖標之間輪流切換。
步驟二:為工作負載推薦Sidecar資源
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在出入站流量配置(Sidecar對象)頁面單擊目標應用右側操作列下的推薦。
當目標應用的推薦任務狀態(tài)為推薦完成,說明為工作負載推薦Sidecar資源成功。
在出入站流量配置(Sidecar對象)頁面單擊目標應用右側操作列下的查看。
在推薦的Sidecar對象資源面板檢查Sidecar的YAML文件中的hosts參數值是否包含工作負載的所有調用服務,確認無誤后,單擊確定。
如果您發(fā)現Sidecar的YAML文件hosts缺少了服務,您可以在YAML文件進行補充,然后再創(chuàng)建Sidecar資源。
(可選)步驟三:重新為工作負載推薦Sidecar資源
隨著業(yè)務應用的更新升級,服務網格中服務之間的調用依賴關系可能會發(fā)生改變,此時之前ASM推薦的Sidecar資源將不再有效,此時建議您重新收集日志,并重新為對應工作負載推薦Sidecar資源。
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在出入站流量配置(Sidecar對象)頁面單擊目標應用右側操作列下的重新收集日志。
在重新收集日志對話框單擊確定。
此時被成功應用的Sidecar資源將被刪除,同時目標應用的推薦任務狀態(tài)會顯示重新收集日志中。
重新為訪問日志分析產生訪問日志。具體操作,請參見步驟一:產生訪問日志。
重新為工作負載推薦Sidecar資源。具體操作,請參見步驟二:為工作負載推薦Sidecar資源。