當您需要觀測多個叢集的流量拓撲,可以使用託管模式的網格拓撲功能。託管模式將網格拓撲服務以Elastic Container Instance的方式部署,提高服務可靠性和易用性。整個網格執行個體只需要部署一個網格拓撲服務,減少配置的工作量。
前提條件
已建立Kubernetes叢集。具體操作,請參見建立ACK託管叢集。
已添加叢集到ASM執行個體,且ASM執行個體版本為1.18.2.112及以上。
已自建Prometheus或整合可觀測監控Prometheus版實現網格監控。具體操作,請參見整合自建Prometheus實現網格監控或整合可觀測監控Prometheus版實現網格監控。
功能介紹
網格拓撲作為一個Service Mesh可觀測性工具,提供查看相關服務與配置的可視化介面,協助您快速評估應用服務的健康情況。網格拓撲提供網格流量的強大可視化功能,將即時請求流量與網格配置資訊相結合,提供對Service Mesh行為的即時洞察,協助您快速查明問題。
Service MeshASM自1.18.2.112版本起,支援以託管模式開啟網格拓撲。相比之前版本僅支援將其部署到資料面Kubernetes叢集內的方式,託管模式網格拓撲在多叢集統一觀測、配置複雜性、服務可靠性方面具有更大優勢。
網格拓撲能夠通過以下兩種部署模式進行啟用。這兩種模式在配置複雜度、服務可靠性等方面存在差異。
資料面Kubernetes叢集內部署模式
在資料面Kubernetes叢集內部署模式下,Service Mesh執行個體中的每個資料面叢集都單獨部署一個網格拓撲服務執行個體。資料面Kubernetes叢集內部署的特點如下:
每個資料面叢集都分別部署一個網格拓撲服務,每個網格拓撲服務分別對接自己所在叢集的Prometheus執行個體,對本叢集內服務的流量拓撲進行觀測。
每個資料面叢集中的網格拓撲服務需要分別進行配置,具有多個訪問端點,配置複雜性較高。
網格拓撲服務的可用性受到資料面叢集影響,可能出現資料面叢集資源不足等問題導致服務不可用。
託管模式
Service MeshASM從1.18.2.112版本開始,支援以託管模式開啟網格拓撲。託管模式將網格拓撲服務以Elastic Container Instance的方式部署,提供更高的服務可靠性與易用性。託管模式的特點如下:
整個網格執行個體只部署一個網格拓撲服務,具有統一觀測多叢集流量拓撲的能力。
網格拓撲服務無需針對不同叢集進行分別配置,減少配置工作量。
網格拓撲服務的工作負載以Elastic Container Instance的方式部署,提供更高的服務可靠性。
步驟一:啟用託管模式的網格拓撲
您只能在啟用網格拓撲時選擇以託管模式啟動。如果您已啟用網格拓撲,請先關閉網格拓撲功能,然後重新開啟。
登入ASM控制台,在左側導覽列,選擇 。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇 。
在網格拓撲頁面,單擊託管模式,然後單擊開始啟用。
在啟用託管模式網格拓撲對話方塊,配置相關資訊,然後單擊確定。
配置項
說明
觀測叢集
選擇需要被網格拓撲服務觀測的資料面叢集,支援多選。在託管模式下,整個Service Mesh執行個體僅存在一個網格拓撲服務。
重要配置資料面叢集可被網格拓撲服務觀測,表明網格拓撲工作負載將具有您資料面叢集中Service、Pod、Namespace、Deployment、Replicaset、Endpoints、Node資源的唯讀許可權,同時具有叢集istio-system命名空間下istio和istio-sidecar-injector ConfigMap資源的唯讀許可權。
網格拓撲工作負載以Elastic Container Instance形式部署在控制面,表明在此ECI執行個體內將有可能同時具有多個叢集的上述資源的唯讀許可權,請充分知曉後選擇觀測叢集。
配置Prometheus地址
配置網格拓撲服務依賴的Prometheus執行個體訪問地址。
如果選擇觀測單個叢集,可以直接使用該叢集整合的Prometheus執行個體的HTTP API地址。如果使用可觀測監控Prometheus版執行個體,請參見使用HTTP API地址對接Grafana或自建應用中接入Prometheus資料擷取地址。
如果選擇觀測多個叢集,需要確保依賴的Prometheus執行個體已採集所配多個叢集中的Envoy監控指標。如果使用可觀測監控Prometheus版執行個體,可為多個叢集的Prometheus執行個體建立彙總Prometheus執行個體,並擷取彙總Prometheus執行個體的HTTP API地址。更多資訊,請參見Prometheus執行個體 for GlobalView。
訪問方式
託管模式的網格拓撲支援通過建立負載平衡CLB來直接存取網格拓撲,或者使用ASM網關訪問網格拓撲。您可以選擇是否建立負載平衡CLB訪問網格拓撲。
如果不選擇建立負載平衡CLB來訪問ASM網格拓撲,在開啟之前,請參考
開啟網格拓撲提高可觀測性的步驟二:訪問網格拓撲中的方式二:使用ASM網關訪問網格拓撲,配置使用ASM網關訪問網格拓撲,並記錄網關地址。
身份認證
託管模式的網格拓撲僅支援通過阿里雲帳號身份登入方式或OIDC方式進行鑒權。
阿里雲帳號身份登入:如果您在訪問方式中沒有選擇建立負載平衡CLB訪問ASM網格拓撲,您需要配置網格拓撲訪問地址。該地址為訪問方式中配置的ASM網關地址。
OIDC登入:您需要配置idP的ClientID、ClientSecret和IssuerUri三個欄位。關於idP的配置資訊,請參見步驟二:添加和配置OIDC應用。
步驟二:訪問網格拓撲
在託管模式下,網格拓撲支援通過建立負載平衡CLB來直接存取ASM網格拓撲,或者使用ASM網關訪問網格拓撲。具體操作,請參見開啟網格拓撲提高可觀測性的步驟二:訪問網格拓撲中的方式一:直接存取網格拓撲和方式二:使用ASM網關訪問網格拓撲。
相關文檔
如果您發現某些請求耗時異常,可以通過訪問日誌定位請求異常延遲的原因。具體操作,請參見通過訪問日誌定位請求異常延遲的原因。
如果您需要在用戶端對一個目標服務的訪問過程中,使流量儘可能的在同一個可用性區域內流轉,以保證服務間的調用延遲最低,可以使用同可用性區域優先路由功能。具體操作,請參見使用網格拓撲觀測同可用性區域優先路由。
您可以通過可觀測鏈路OpenTelemetry版控制台,查看調用資訊和基於調用資訊產生的拓撲圖等,快速分析和診斷效能瓶頸,提高診斷效率。具體操作,請參見將鏈路追蹤資料擷取到阿里雲可觀測鏈路OpenTelemetry版。
您可以啟用網格審計功能,記錄或追溯不同使用者的日常操作,也可以為網格資源操作配置審計警示,在重要資源變動時及時發出警示通知到警示連絡人。具體操作,請參見使用KubeAPIAction Trail和為網格資源操作配置審計警示。
ASM能夠減少雲原生環境中的被攻擊面積,並提供零信任應用網路所需的基礎架構。通過ASM管理服務到服務的安全性,可以確保ASM的端到端加密、服務等級身份認證和細粒度授權策略。更多資訊,請參見零信任安全概述。