快速、安全、簡便:Istio 的 Ambient 模式於 v1.24 版本正式發布

我們最新的版本表示 ambient 模式(無 sidecar 的服務網格)已準備好供所有人使用。

2024 年 11 月 7 日 | 作者:Lin Sun - Solo.io,代表 Istio 指導委員會和技術監督委員會

我們很自豪地宣布,Istio 的 ambient 資料平面模式已達到正式發布階段,其中 ztunnel、航點和 API 已被 Istio TOC 標記為穩定。這標誌著 Istio 功能階段進程的最後階段,表示 ambient 模式已完全準備好用於廣泛的生產環境。

Ambient 網格(及其在 Istio ambient 模式中的參考實作)於 2022 年 9 月宣布。此後,我們的社群投入了 26 個月的辛勤工作和協作,其中有來自 Solo.io、Google、Microsoft、Intel、Aviatrix、Huawei、IBM、Red Hat 和其他許多公司的貢獻。1.24 中的穩定狀態表示 ambient 模式的功能現在已完全準備好用於廣泛的生產工作負載。這是 Istio 的一個重要里程碑,讓 Istio 在沒有 sidecar 的情況下達到生產就緒狀態,並為用戶提供選擇

為什麼選擇 ambient 網格?

自 2017 年 Istio 發布以來,我們觀察到對應用程式的網格功能有明顯且不斷增長的需求,但許多使用者發現 sidecar 的資源開銷和操作複雜性難以克服。Istio 使用者與我們分享的挑戰包括:sidecar 在新增後會如何破壞應用程式、每個工作負載的代理都需要大量的 CPU 和記憶體,以及每次 Istio 發布新版本時都需要重新啟動應用程式 Pod 的不便。

作為一個社群,我們從頭開始設計了 ambient 網格來解決這些問題,減輕了想要實作服務網格的使用者先前遇到的複雜性障礙。這個新概念被命名為「ambient 網格」,因為它被設計為對您的應用程式透明,沒有與使用者工作負載同地的代理基礎設施,無需對設定進行細微更改即可上線,也無需重新啟動應用程式。在 ambient 模式下,從網格新增或移除應用程式是微不足道的。您所需要做的就是標記命名空間,該命名空間中的所有應用程式都會立即新增到網格中。這會立即使用業界標準的相互 TLS 加密來保護該命名空間中的所有流量,無需其他設定或重新啟動!有關我們為什麼建立 Istio ambient 模式的更多資訊,請參閱推出 Ambient 網格部落格

Ambient 模式如何讓採用更容易?

Ambient 網格背後的關鍵創新之處在於,它將第 4 層 (L4) 和第 7 層 (L7) 的處理分成兩個不同的層。Istio 的 ambient 模式由輕量級、共用的 L4 節點代理和可選的 L7 代理提供支援,無需資料平面中的傳統 sidecar 代理。這種分層方法允許您逐步採用 Istio,從無網格平穩過渡到安全覆蓋 (L4),再到可選的完整 L7 處理,這可以在整個機隊中根據需要按命名空間進行。

透過使用 ambient 網格,使用者可以繞過 sidecar 模型先前的一些限制性元素。現在伺服器優先傳送協定可以運作,大多數保留的連接埠現在都可用,並且消除了容器繞過 sidecar(無論是惡意還是非惡意)的能力。

輕量級共用 L4 節點代理稱為 ztunnel(零信任通道)。ztunnel 透過消除叢集中潛在過度配置記憶體和 CPU 以處理預期負載的需求,大幅降低了執行網格的開銷。在某些用例中,節省量可能會超過 90% 或更多,同時仍使用具有加密身分驗證的相互 TLS、簡單的 L4 授權策略和遙測來提供零信任安全性。

L7 代理稱為 航點。航點處理 L7 功能,例如流量路由、豐富的授權策略執行和企業級彈性。航點在您的應用程式部署之外執行,並且可以根據您的需求獨立擴展,這可能是針對整個命名空間或命名空間內的多個服務。與 sidecar 相比,您不需要每個應用程式 Pod 一個航點,並且您可以根據航點的範圍有效地擴展它,從而在大多數情況下節省大量的 CPU 和記憶體。

L4 安全覆蓋層和 L7 處理層之間的分隔允許逐步採用 ambient 模式資料平面,這與早期二進制「全有」注入 sidecar 形成對比。使用者可以從安全 L4 覆蓋開始,該覆蓋提供了人們部署 Istio 的大多數功能(mTLS、授權策略和遙測)。然後可以根據具體情況啟用複雜的 L7 處理,例如重試、流量分割、負載平衡和可觀察性收集。

快速探索和採用 ambient 模式

Docker Hub 上的 ztunnel 映像已達到超過 100 萬次下載,僅在上週就拉取了約 63,000 次。

Docker Hub downloads of Istio ztunnel!

我們請幾位使用者談談他們對 ambient 模式正式發布的想法

範圍是什麼?

Ambient 模式的正式發布表示以下事項現在被認為是穩定的

有關更多資訊,請參閱功能狀態頁面

路線圖

我們並非停滯不前!我們將繼續為未來版本開發許多功能,包括一些目前處於 Alpha/Beta 階段的功能。

在我們即將發布的版本中,我們期望快速推進以下 ambient 模式的擴展

Sidecar 呢?

邊車 (Sidecar) 並不會消失,在 Istio 中仍然是一等公民。您可以繼續使用邊車,它們將會繼續獲得完整的支援。雖然我們認為大多數的使用案例透過環境模式 (ambient mode) 可以獲得最佳服務,但 Istio 專案仍然致力於持續支援邊車模式。

立即試用環境模式

隨著 Istio 1.24 版本的發布以及環境模式的正式 GA 版本推出,現在比以往任何時候都更容易在您自己的工作負載上試用 Istio。

您可以在Istio Slack 的 #ambient 頻道中與開發人員交流,或者在 GitHub 的討論區中提出您可能有的任何問題。

分享這篇文章