功能狀態
此頁面列出每個 Istio 功能的相對成熟度和支援層級。請注意,這些階段適用於專案中的個別功能,而不是整個專案。以下是這些標籤含義的高階描述。
功能階段定義
實驗性 | Alpha | Beta | 穩定 | |
---|---|---|---|---|
目的 | 功能正在積極開發中,且面向使用者的 API 可能會變更。使用者應極度謹慎地部署實驗性功能,最好在非生產環境中部署,因為實驗性版本可能需要遷移工作。 | 用於取得關於設計或功能的意見回饋,或查看暫定設計的效能等。目標對象為開發人員和專家使用者。 | 用於在生產環境中驗證解決方案,而無需長期投入,以評估其可行性、效能、可用性等。目標是所有使用者。 | 可靠、經過生產環境強化。 |
穩定性 | 可能存在錯誤。使用此功能可能會暴露錯誤。預設情況下不啟用。 | 可能存在錯誤。使用此功能可能會暴露錯誤。預設情況下不啟用。 | 程式碼經過充分測試。此功能適用於生產環境。 | 程式碼經過充分測試且穩定。適用於在生產環境中廣泛部署。 |
安全性 | 使用此功能可能存在明顯的安全性漏洞。已發現的漏洞可能不會廣泛公開。 | 使用此功能可能存在明顯的安全性漏洞。已發現的漏洞可能不會廣泛公開。 | 任何已發現的安全性漏洞都將公開披露並修補。 | 任何已發現的安全性漏洞都將公開披露並修補。 |
效能 | 效能特性未知。啟用實驗性功能可能會對效能產生負面影響。 | 效能需求會在設計階段進行評估。 | 效能和可擴展性已經過特性化,但可能存在一些注意事項。 | 效能(延遲/規模)已量化並記錄,並保證不會發生效能衰退。 |
支援 | 不保證向後相容性。Istio 社群不承諾改進、維護或完成此功能,並且此功能可能隨時在以後的軟體版本中完全移除,恕不另行通知。 | 不保證向後相容性。Istio 不承諾完成此功能。此功能可能隨時在以後的軟體版本中完全移除,恕不另行通知。 | 整體功能不會被移除,但細節可能會改變。Istio 承諾在後續的穩定版本中以某種形式完成此功能。通常會在 3 個月內完成,但有時會更長。版本應同時支援兩個連續版本(例如 v1alpha1 和 v1beta1;或 v1beta1 和 v1),至少支援一個版本週期(通常為 3 個月),以便使用者有足夠的時間升級和遷移資源。 | 此功能將在許多後續版本中繼續存在。 |
棄用政策 | 無,此功能可隨時移除。 | 無,此功能可隨時移除。 | 弱,此功能可在提前 3 個月通知的情況下移除。 | 強,此功能可在提前 1 年通知的情況下移除,但通常會有支援的升級途徑來替換功能。 |
版本控制 | API 版本名稱包含 dev(例如 v1dev1)。 | API 版本名稱包含 alpha(例如 v1alpha1)。 | API 版本名稱包含 beta(例如 v1beta1)。 | API 版本為 vX ,其中 X 為整數(例如 v1)。 |
可用性 | 此功能可能在主 Istio 儲存庫中可用,也可能不可用。此功能可能在 Istio 版本中出現,也可能不會出現。如果它在 Istio 版本中出現,則預設情況下將被禁用。此功能除了使用該功能所需的任何配置外,還需要一個明確的標誌來啟用,才能開啟 dev 功能。 | 此功能已提交到 Istio 儲存庫。此功能會出現在官方 Istio 版本中。此功能需要明確的使用者操作才能使用,例如標誌翻轉、使用配置資源、明確的安裝操作或呼叫 API。當功能被禁用時,不得影響系統穩定性。 | 在官方 Istio 版本中,預設情況下啟用。 | 與 Beta 相同。 |
受眾 | 其他密切合作開發功能或概念驗證的開發人員。 | 此功能針對有興趣提供早期回饋的開發人員和專家使用者。 | 有興趣提供功能回饋的使用者。 | 所有使用者。 |
完整性 | 功能具有有限的功能。此功能可用作概念驗證。 | 某些 API 操作或 CLI 命令可能未實作。該功能不一定需要進行 API 審查(在正常的程式碼審查之上,對 API 進行密集且有針對性的審查)。 | 應實作所有 API 操作和 CLI 命令。端到端測試完整且可靠。API 已進行徹底的 API 審查,並被認為是完整的,儘管在 beta 期間的使用經常會發現審查期間未考慮到的 API 問題。 | 與 Beta 相同。 |
文件 | 實驗性功能在自動產生的參考文件中標記為實驗性,或者不公開。 | Alpha 功能在自動產生的參考文件中標記為 alpha。基本文件說明該功能的作用、如何啟用它、限制和注意事項,以及指向該功能所基於的問題或設計文件的指標。 | 完整的功能文件發佈到 istio.io。除了基本 alpha 級文件外,beta 文件還包括範例、教學課程、詞彙條目等。 | 與 Beta 相同。 |
升級能力 | 實驗性功能的架構和語義可能會在較新版本中變更,而不保證保留向後相容性,這需要在升級期間變更配置。API 版本可能會比發布週期更快地遞增,開發人員不需要維護多個版本以實現向後相容性。當架構或語義以不相容的方式變更時,建議開發人員遞增 API 版本。 | Alpha 功能的架構和語義可能會在以後的軟體版本中變更,而不會為現有 Istio 安裝中的保留配置物件提供任何規定。API 版本可能會比發布週期更快地遞增,並且開發人員不需要維護多個版本。當架構或語義以不相容的方式變更時,開發人員應遞增 API 版本。 | 架構和語義可能會在以後的軟體版本中變更。發生這種情況時,將記錄升級途徑。在某些情況下,物件將自動轉換為新版本。在其他情況下,可能需要手動升級。手動升級可能需要任何依賴新功能的事物停機,並且可能需要將物件手動轉換為新版本。當需要手動轉換時,專案將提供有關該過程的文件。 | 在後續軟體版本中,僅允許嚴格相容的變更。 |
測試 | 該功能的存在不得影響任何已發布的功能。 | 該功能涵蓋單元測試和整合測試,其中該功能已啟用,並且測試是非不穩定的。測試可能未涵蓋所有邊緣案例,但已涵蓋最常見的案例。測試程式碼涵蓋率 >= 70%。當功能被禁用時,它不會使系統效能下降。 | 整合測試涵蓋邊緣案例以及常見使用案例。整合測試涵蓋此功能報告的所有問題。該功能具有涵蓋此功能範例/教學課程的端到端測試。測試程式碼涵蓋率 >= 80%。 | Beta 的超集,包括針對在 Beta 期間發現的任何問題的測試。測試程式碼涵蓋率 >= 90%。 |
可靠性 | 使用者不應期望該功能是可靠的,可能未經測試。 | 由於該功能相對較新,並且可能缺少完整的端到端測試,因此透過標誌啟用該功能可能會暴露不穩定 Istio 的錯誤(例如,控制迴路中的錯誤可能會快速建立過多的物件,耗盡 API 儲存空間)。 | 由於該功能具有 e2e 測試,因此啟用該功能不應在不相關的功能中產生新的錯誤。由於該功能相對較新,因此可能存在小錯誤。 | 高。該功能經過充分測試且穩定可靠,適用於所有用途。 |
建議的使用案例 | 在短期的開發或測試環境中,旨在徵求使用者早期回饋,以塑造開發工作。 | 在短期的開發或測試環境中,由於升級能力的複雜性和缺乏長期支援。 | 在開發或測試環境中。在生產環境中,作為評估功能的一部分,以便提供回饋。 | 任何。 |
Istio 功能
以下是我們現有功能及其目前階段的清單。此資訊將在每次發布後更新。
流量管理
功能 | 階段 |
---|---|
協定:HTTP1.1/HTTP2/gRPC/TCP | 穩定 |
協定:Websockets/MongoDB | 穩定 |
流量控制:基於標籤/內容的路由、流量轉移 | 穩定 |
彈性功能:逾時、重試、連線池、異常值偵測 | 穩定 |
閘道:適用於所有協定的入口、出口 | 穩定 |
閘道注入 | Beta |
閘道中的 TLS 終止和 SNI 支援 | 穩定 |
入口處的 SNI(多個憑證) | 穩定 |
區域性負載平衡 | Beta |
在 Envoy 中啟用自訂篩選器 | Alpha |
Sidecar API | 穩定 |
DNS 代理 | Beta |
用於入口的 Kubernetes 閘道 API(Gateway parentRef ) | 穩定 |
用於網格的 Kubernetes 閘道 API(Service parentRef ) | 穩定 |
閘道網路拓撲配置 | Alpha |
Kubernetes 多叢集服務 (MCS) 探索 | 實驗性 |
可觀測性
功能 | 階段 |
---|---|
Prometheus 整合 | 穩定 |
Grafana 中的服務儀表板 | 穩定 |
分散式追蹤 | 穩定 |
分散式追蹤至 Zipkin/Jaeger | Beta |
追蹤取樣 | Beta |
請求分類 | Beta |
可配置的遙測產生 | 穩定 |
可擴展性
功能 | 階段 |
---|---|
WebAssembly 擴充 | Alpha |
安全性和原則強制執行
功能 | 階段 |
---|---|
服務到服務的相互 TLS | 穩定 |
Kubernetes:服務憑證分發 | 穩定 |
入口閘道上的憑證管理 | 穩定 |
Istio CA 的可外掛金鑰/憑證支援 | 穩定 |
授權 | 穩定 |
終端使用者 (JWT) 驗證 | 穩定 |
同層級驗證 | 穩定 |
自動相互 TLS | 穩定 |
VM:服務憑證分發 | Beta |
外部授權 | Beta |
授權預執行 | Alpha |
基於 JWT 宣告的路由 | Alpha |
將 JWT 宣告複製到 HTTP 標頭 | 實驗性 |
核心
功能 | 階段 |
---|---|
Kubernetes:Envoy 安裝和流量攔截 | 穩定 |
Kubernetes:Istio 控制平面安裝 | 穩定 |
多叢集網格 | Beta |
外部控制平面 | Beta |
Kubernetes:Istio 就地控制平面升級 | Beta |
基本配置資源驗證 | Beta |
Istio CNI 外掛程式 | 穩定 |
Kubernetes 的 IPv6 支援 | Alpha |
雙堆疊 IPv4/IPv6 | Alpha |
無分發基礎映像檔 | 穩定 |
虛擬機器整合 | Beta |
Helm 安裝 | Beta |
基於修訂的升級 | Beta |
修訂標籤 | Beta |
Ambient 模式
功能 | 階段 |
---|---|
ztunnel:核心 | 穩定 |
航點:核心 | 穩定 |
航點:閘道 API 穩定通道(HTTPRoute 、GRPCRoute ) | 穩定 |
航點:閘道 API 實驗通道(TLSRoute 、TCPRoute ) | Alpha |
航點:DestinationRule | 穩定 |
航點:VirtualService | Alpha |
航點:跨命名空間使用 | Beta |
航點:WebAssembly 可擴展性 (WasmPlugin ) | Alpha |
AuthorizationPolicy | 穩定 |
PeerAuthentication | 穩定 |
RequestAuthentication | Beta |
DNS 代理 | Beta |
雙堆疊、IPv6 | Beta |