適用於 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

下一步