適用於 Azure Kubernetes Service 的 Istio 型服務網格附加元件 (預覽)
Istio 提供分散式或微服務架構,解決開發人員和操作員面對的挑戰。 Istio 型服務網格附加元件針對 Azure Kubernetes Service (AKS) 提供正式支援和通過測試的整合。
重要
AKS 預覽功能可透過自助服務,以加入方式使用。 預覽會以「現狀」和「可供使用時」提供,其其不受服務等級協定和有限瑕疵擔保所保護。 客戶支援部門會盡最大努力,部分支援 AKS 預覽。 因此,這些功能不適合實際執行用途。 如需詳細資訊,請參閱下列支援文章:
什麼是服務網格?
現代的應用程式通常架構為微服務的分散式集合,而每個微服務集合都會執行一些離散的商務功能。 服務網格是一個專用的基礎結構層,您可將其新增至應用程式。 其可讓您以透明方式新增可檢視性、流量管理和安全性等功能,而不需將它們新增至您自己的程序碼。 服務網格一詞描述您用來實作此模式的軟體類型,以及使用該軟體時所建立的安全性或網路網域。
隨著分散式服務部署 (例如在 Kubernetes 型系統中) 的大小和複雜度持續成長,因此越來越難理解和管理。 您可能需要實作探索、負載平衡、失敗復原、計量和監控等功能。 服務網格也可以解決更複雜的作業需求,例如 A/B 測試、Canary 部署、速率限制、存取控制、加密和端對端驗證。
服務對服務通訊是讓分散式應用程式得以實現的要素。 隨著服務數量增加,在應用程式叢集內和跨應用程式叢集之間路由通訊變得越來越複雜。 Istio 不只有助於降低這種複雜性,同時還能減輕開發小組的壓力。
什麼是 Istio?
Istio 是開放原始碼服務網格,可透明地分層至現有的分散式應用程式。 Istio 擁有強大功能,可提供統一且更有效率的方式,來保護、連線及監控服務。 Istio 可啟用負載平衡、服務對服務驗證,以及監控,且僅需少部分或完全不需變更服務程式碼。 其強大的控制平面提供了重要功能,包括:
- 使用 TLS 加密、強式身分識別型驗證和授權來保護叢集中的服務對服務通訊。
- HTTP、gRPC、WebSocket 和 TCP 流量的自動負載平衡。
- 使用多樣化的路由規則、重試、容錯移轉和錯誤插入,更精細地控制流量行為。
- 插入式原則層和設定 API,支援存取控制、速率限制和配額。
- 叢集中所有流量的自動計量、記錄和追蹤,包括叢集輸入和輸出。
附加元件與開放原始碼 Istio 有何不同?
此服務網格附加元件使用並建置在開放原始碼 Istio 之上。 附加元件變體提供下列額外優點:
- Istio 版本經過測試和驗證,與支援的 Azure Kubernetes Service 版本相容。
- Microsoft 處理 Istio 控制平面的縮放和設定
- Microsoft 會在啟用 Istio 時調整
coredns
等 AKS 元件的縮放比例。 - Microsoft 會在使用者觸發時為 Istio 元件提供受控生命週期(升級)。
- 已驗證的外部和內部輸入設定。
- 通過驗證,可搭配適用於 Prometheus 的 Azure 監視器受管理服務和 Azure 受控 Grafana。
- 為附加元件提供的官方 Azure 支援。
限制
AKS 的 Istio 型服務網格附加元件有下列限制:
- 附加元件不適用於使用適用於 AKS 的 Open Service Mesh 附加元件的 AKS 叢集。
- 附加元件無法在安裝附加元件之外已安裝 Istio 的 AKS 叢集上運作。
- 說明如何安裝 Istio 版本及後續升級方式的網格受控生命週期。
- Istio 不支援 Windows Server 容器。
- 目前已封鎖以下列自訂資源為基礎的網格自訂 -
EnvoyFilter, ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin