本文介紹Service Mesh所涉及的基本概念,以便於您更好地理解和使用ASM。
基本概念總覽
分類 | 名稱 | |
通用概念 | Istio、託管服務網格(Managed Service Mesh)、控制面(Control Plane)、資料面(Data Plane)、命名空間(Namespace) | |
計費相關 | ||
網格相關 | 叢集與工作負載 | |
資料面組件管理 | ||
ASM網關 | ||
流量 | 虛擬服務(Virtual Service)、目標規則(Destination Rule)、限流、熔斷、灰階發布、藍綠髮布 | |
可觀測 | ||
安全 | ||
Istio
Istio是一個開源的服務網格,提供串連、保護、控制以及觀測功能,通過提供完整的非侵入式的微服務治理解決方案,用於解決雲原生服務的管理、網路連接以及安全管理等服務網路治理問題。
託管服務網格(Managed Service Mesh)
由Service MeshASM建立並託管Istio的控制面,具備簡單、低成本、高可用、無需營運管理Istio控制面的特點。更多資訊,請參見什麼是服務網格ASM?。
控制面(Control Plane)
從架構設計上看,Service MeshASM邏輯上分為控制面和資料面兩部分。控制面負責管理和配置代理,從而實現路由流量。更多資訊,請參見什麼是服務網格ASM?。
資料面(Data Plane)
資料面由一組以Sidecar方式部署的智能代理(Envoy)組成,負責調節和控制微服務以及控制面之間所有的網路通訊。更多資訊,請參見什麼是服務網格ASM?。
命名空間(Namespace)
命名空間為Kubernetes叢集提供虛擬隔離作用。Kubernetes叢集初始有3個命名空間,分別是預設命名空間default、系統命名空間kube-system和kube-public。管理員可以按需建立新的命名空間。
通過Service MeshASM控制台或者使用ASM kubeconfig定義的命名空間隸屬於ASM執行個體本身,與該ASM管理的資料面叢集是獨立的,因此ASM託管的控制面的命名空間可以與資料面叢集的命名空間存在不同的情況。即在Service MeshASM控制台新增或者刪除命名空間,並不會影響資料面Kubernetes叢集的命名空間。更多資訊,請參見管理全域命名空間。
隨用隨付(pay-as-you-go)
隨用隨付是一種先使用後付費的計費方式。您只需為實際使用的資源付費,不需要提前購買資源。更多資訊,請參見計費說明。
服務條目(Service Entry)
作為ASM自訂資源之一,服務條目用於將一個服務添加到ASM抽象模型或服務註冊表中。這些註冊的服務是由ASM內部維護。添加服務條目後,Envoy代理可以將流量發送到該服務,如同這個添加的服務條目是網格中的其他服務一樣。更多資訊,請參見管理叢集外服務。
Sidecar代理
預設情況下,ASM支援每個Envoy代理都可以訪問來自和它關聯的工作負載的所有連接埠的請求,然後將請求轉寄到對應的工作負載。Sidecar代理可以修改Envoy代理支援的連接埠和協議集、限制Envoy代理可以訪問的服務集合。
ASM預設提供一個Webhook控制器(即Sidecar注入器),可以在叢集中的Pod建立時,將Sidecar代理自動添加到可用的Pod中。您可以對Sidecar注入器使用的Sidecar注入策略以及Sidecar注入器本身的資源、副本數等屬性進行配置。更多資訊,請參見資料面組件管理。
Ztunnel
在Ambient模式下,Ztunnel是一個由Rust開發的高效能4層代理(L4),以DaemonSet的形式部署在每個節點上,透明攔截進出當前節點上Pod的流量,主要執行mTLS加解密、4層鑒權以及根據需要重新導向到Waypoint等功能。
Waypoint
Waypoint是一個基於Envoy的7層代理(L7),其獨立於應用程式Pod,可以單獨安裝、擴縮容和升級等。在開啟Ambient模式後,如果您需要L7能力,可以按需為指定應用開啟Waypoint。開啟之後,Ztunnel會自動將發往該業務的流量轉寄給對應的Waypoint代理。
入口網關(Ingress Gateway)
入口網關並不是指ASM自訂資源,而是指Kubernetes服務。它是真實的入口網關服務的抽象,由對應的容器來提供支援。通過ASM建立一個入口網關時,會部署一個Kubernetes服務和Deployment資源到使用者叢集中。更多資訊,請參見入口網關。
出口網關(Egress Gateway)
出口網關為網格內應用提供統一的流量出口。更多資訊,請參見出口網關。
網關規則(Gateway)
作為ASM自訂資源之一,網關規則定義了在網格出入口操作的負載平衡器,用於接收傳入或傳出的HTTP/TCP串連。它描述了需要公開的一組連接埠、要使用的協議類型、負載平衡器的SNI配置等資訊。更多資訊,請參見管理網關規則。
虛擬服務(Virtual Service)
作為ASM自訂資源之一,虛擬服務定義了一系列針對指定服務的流量路由規則。每個路由規則都針對特定協議定義流量匹配規則。如果流量符合這些特徵,就會根據規則發送到服務註冊表中的目標服務(或者目標服務的子集或版本)。更多資訊,請參見管理虛擬服務。
目標規則(Destination Rule)
作為ASM自訂資源之一,目標規則定義了在路由發生後應用於服務的流量策略。這些規則指定負載平衡的配置、來自Sidecar代理的串連池大小以及異常檢測設定,從而實現從負載平衡池中檢測和驅逐不健康的主機。更多資訊,請參見管理目標規則。
限流
限流可以保護目標服務,避免對服務的過載訪問。ASM提供了本地限流功能,支援對網關和服務進行流量限制。更多資訊,請參見為入口網關配置本地限流。
熔斷
熔斷可以使應用程式具備應對來自故障、潛在峰值和其他未知網路因素影響的能力,避免網路和服務調用故障級聯發生,系統整體效能下降或者崩潰。ASM支援在流量策略中配置熔斷功能,在網路訪問超出熔斷配置時能夠拒絕請求。更多資訊,請參見使用ASM路由級熔斷功能。
灰階發布
灰階發布又名金絲雀發布,指在原有部署版本可用的情況下,同時部署新版本應用作為金絲雀,測試新版本的效能。在保證整體系統穩定的情況下,協助您儘早發現問題和修複問題。更多資訊,請參見基於ASM完成藍綠和灰階發布、通過TrafficLabel實現全鏈路灰階發布和在Knative on ASM中基於流量灰階發布服務。
藍綠髮布
藍綠髮布提供了一種零宕機的部署方式。在老版本啟動並執行基礎上,部署新版本進行測試。確認新版本運行正常後,將流量切換到新版本,然後同時將老版本升級到新版本。始終有兩個版本同時線上,有問題可以快速切換,可以減少發布過程中服務停止的時間。更多資訊,請參見基於ASM完成藍綠和灰階發布。
網格拓撲
網格拓撲是一個服務網格可觀測性工具,提供了查看服務行為的可視化介面。更多資訊,請參見網格拓撲。
SLO
SLO(Service Level Objectives)是指服務等級的目標值或範圍值,由一個或多個服務等級指標SLI組成。SLO提供了一種形式化的方式來描述、衡量和監控微服務應用程式的效能、品質和可靠性。SLO為應用開發和平台團隊、營運團隊提供了一個共用的品質基準,可作為衡量服務水平品質以及持續改進的參考。使用SLI組合定義的SLO能夠協助團隊以更精確的方式描述服務健康情況。更多資訊,請參見SLO管理。
OIDC
OIDC(OpenID Connect)是一種身份認證與授權的協議,通常用於實現單點登入(SSO)。更多資訊,請參見在ASM網關中配置OIDC單點登入和在ASM安全性原則中配置OIDC單點登入。
JWT
JWT(JSON Web Token)是為了在網路應用環境間傳遞聲明而執行的一種基於JSON的開放標準RFC7519。JWT一般可以用作獨立的身分識別驗證令牌,可以包含使用者標識、使用者角色和許可權等資訊,以便於從資原始伺服器擷取資源,也可以增加一些額外的其它商務邏輯所必需的聲明資訊,特別適用於分布式網站的登入情境。更多資訊,請參見RFC7519、對HTTP請求中的JWT進行認證和鑒權和在ASM中對入口網關進行JWT請求鑒權。