介紹 Istio v1 API

為了反映 Istio 功能的穩定性,我們的網路、安全和遙測 API 在 1.22 版本中升級至 v1。

2024 年 5 月 13 日 | 作者:Whitney Griffith - Microsoft

Istio 提供 網路安全遙測 API,這些 API 對於確保服務網格內服務的強大安全性、無縫連線和有效的可觀察性至關重要。這些 API 被全球數千個叢集使用,保護並增強關鍵基礎設施。

由這些 API 驅動的大部分功能已經被認為是穩定的一段時間了,但 API 版本仍然停留在 v1beta1。為了反映這些資源的穩定性、採用和價值,Istio 社群決定在 Istio 1.22 中將這些 API 升級至 v1

在 Istio 1.22 中,我們很高興宣布已協同努力將以下 API 升級至 v1

功能穩定性和 API 版本

宣告式 API(例如 Kubernetes 和 Istio 使用的 API)將資源的描述與作用於它的實作分開。

Istio 的功能階段定義描述了穩定功能(被認為可以隨時隨地在生產環境中使用,並帶有正式的棄用策略)應如何與 v1 API 相匹配。我們現在正在兌現這一承諾,我們的 API 版本與我們的功能穩定性相匹配,對於已經穩定一段時間的功能以及在此版本中新指定為穩定的功能都是如此。

儘管目前沒有計劃停止支援之前的 v1beta1v1alpha1 API 版本,但我們鼓勵使用者通過更新現有的 YAML 檔案手動轉換到使用 v1 API。

遙測 API

v1 遙測 API 是唯一一個升級的 API,其與之前的 API 版本相比有所變更。以下 v1alpha1 功能未升級至 v1

請通過在 GitHub 上建立問題分享您對這些欄位的任何回饋。

Istio CRD 概述

這是支援的 API 版本的完整清單

類別API版本
網路目標規則v1v1beta1v1alpha3
Istio 閘道v1v1beta1v1alpha3
服務條目v1v1beta1v1alpha3
邊車範圍v1v1beta1v1alpha3
虛擬服務v1v1beta1v1alpha3
工作負載條目v1v1beta1v1alpha3
工作負載群組v1v1beta1v1alpha3
代理配置v1beta1
Envoy 篩選器v1alpha3
安全授權原則v1v1beta1
對等驗證v1v1beta1
請求驗證v1v1beta1
遙測遙測v1v1alpha1
擴充功能Wasm 外掛程式v1alpha1

Istio 也可以使用 Kubernetes 閘道 API 進行配置。

使用 v1 Istio API

Istio 中有一些 API 仍在積極開發中,並且在版本之間可能會發生變更。例如,Envoy 篩選器、代理配置和 Wasm 外掛程式 API。

此外,由於 CRD 版本控制 的限制,Istio 在 API 的所有版本中都保持嚴格相同的綱要。因此,即使有 v1 遙測 API,當宣告 v1 遙測 API 資源時,仍然可以使用上述三個 v1alpha1 欄位。

對於風險規避環境,我們添加了穩定驗證原則,這是一個驗證許可原則,可以確保只有 v1 API 和欄位與 Istio API 一起使用。

在新環境中,在安裝 Istio 時選擇穩定驗證原則將保證所有未來建立或更新的自訂資源都是 v1 並且只包含 v1 功能。

如果將該原則部署到現有的 Istio 安裝中,而該安裝具有不符合該原則的自訂資源,則唯一允許的操作是刪除資源或移除對違規欄位的使用。

要使用穩定驗證原則安裝 Istio

$ helm install istio-base -n istio-system --set experimental.stableValidationPolicy=true

要在使用該原則安裝 Istio 時設定特定修訂版本

$ helm install istio-base -n istio-system --set experimental.stableValidationPolicy=true -set revision=x

此功能與 Kubernetes 1.30 及更高版本相容。驗證是使用 CEL 表達式建立的,使用者可以根據自己的特定需求修改驗證。

摘要

Istio 專案致力於提供對服務網格成功運作至關重要的穩定 API 和功能。我們很樂意接收您的回饋,以幫助我們在繼續改進相關用例和功能穩定性障礙時做出正確的決策。請通過建立問題、在相關的 Istio Slack 頻道中發佈或加入我們每週的工作組會議來分享您的回饋。

分享此文章