Azure Kubernetes Service (AKS) 中的 Open Service Mesh (OSM) 附加元件

Open Service Mesh (OSM) (英文) 是輕量型、可延伸的雲端原生服務網格,可讓您為高動態的微服務環境,統一管理、保護及取得現成的可檢視性功能。

OSM 在 Kubernetes 上執行 Envoy 型控制平面,可透過 SMI API 來設定。 OSM 插入 Envoy Proxy,作為每個應用程式執行個體的 sidecar 容器。 Envoy Proxy 包含並執行有關存取控制原則的規則、實作路由設定,以及擷取計量。 控制平面會持續設定 Envoy Proxy,以確保取得最新的原則和路由規則,並確保 Proxy 狀況良好。

OSM 專案由 Microsoft 發起,但現在由 Cloud Native Computing Foundation (CNCF) (英文) 管理。

注意

因為 Cloud Native Computing Foundation (CNCF) 淘汰了 Open Service Mesh (OSM) (英文),所以建議您找出 OSM 設定,並將其移轉至對等 Istio 設定。 如需從 OSM 移轉至 Istio 的相關資訊,請參閱 Open Service Mesh (OSM) 設定至 Istio 的移轉指引

啟用 OSM 附加元件

使用 Azure CLIBicep 範本來啟用 OSM 附加元件,即可將 OSM 新增至 Azure Kubernetes Service (AKS) 叢集。 OSM 附加元件支援完整安裝與 AKS 整合的 OSM。

重要

根據叢集執行的 Kubernetes 版本,OSM 附加元件會安裝不同版本的 OSM。

Kubernetes 版本 安裝的 OSM 版本
1.24.0 以上 1.2.5
1.23.5 與 1.24.0 之間 1.1.3
早於 1.23.5 1.0.0

如果對應的 AKS 版本已達使用壽命年限,則可能無法安裝或主動支援舊版 OSM。 如需 AKS 版本支援時段的相關資訊,您可以查看 AKS Kube 發行版本行事曆

功能

OSM 提供下列功能和特性:

  • 啟用相互 TLS (mTLS) 來保護服務對服務通訊。
  • 使用 Envoy Proxy 的自動 sidecar 插入,使應用程式上線至 OSM 網格。
  • 在部署上明確設定流量轉移。
  • 為服務定義和執行精細的存取控制原則。
  • 使用應用程式計量的可檢視性和深入解析來監視和偵錯服務。
  • 在部署於叢集的服務端點之間加密通訊。
  • 啟用 HTTP/HTTPS 和 TCP 流量的流量授權。
  • 針對 A/B 測試或 Canary 部署,設定兩個或更多服務之間的加權流量控制。
  • 從應用程式流量收集並檢視 KPI。
  • 與外部憑證管理整合。
  • 與現有的輸入解決方案整合,例如 NGINX (英文)、Contour (英文) 和應用程式路由 (機器翻譯)。

如需輸入和 OSM 的詳細資訊,請參閱使用輸入管理對叢集內服務的外部存取 (英文) 和整合 OSM 與 Contour 以進行輸入 (英文)。 關於整合 OSM 與使用 networking.k8s.io/v1 API 的輸入控制器,相關範例請參閱輸入與 Kube Nginx 輸入控制器 (英文)。 如需進一步了解如何使用可自動與 OSM 整合的應用程式路由,請參閱應用程式路由 (機器翻譯)。

限制

OSM AKS 附加元件有下列限制:

  • 安裝之後,您必須使用 kubectl patch 為連接埠 IP 位址和連接埠範圍排除啟用 Iptable 重新導向。 如需詳細資訊,請參閱 Iptables 重新導向
  • 對於需要存取 IMDS、Azure DNS 或 Kubernetes API 伺服器的任何 Pod,必須使用全域輸出 IP 範圍排除,將其 IP 位址新增至排除的輸出 IP 範圍全域清單。
  • OSM 不支援 Windows Server 容器。

下一步

使用 Azure CLIBicep 範本啟用 OSM 附加元件之後,您可以: