首頁 > 後端開發 > Golang > Helm CEL 簡介:一種更具表現力的方式來驗證 Helm 圖表

Helm CEL 簡介:一種更具表現力的方式來驗證 Helm 圖表

Barbara Streisand
發布: 2024-11-22 16:35:16
原創
747 人瀏覽過

Introducing Helm CEL: A More Expressive Way to Validate Your Helm Charts

如果您使用過 Helm 圖表,您可能熟悉驗證 value.yaml 的挑戰。雖然 Helm 的內建 JSON 模式驗證有效,但它可能很麻煩且有限制。今天,我想向您介紹 Helm CEL,這是一個插件,它將 Google 通用表達語言 (CEL) 的強大功能引入 Helm 圖表驗證中。

什麼是 CEL?

在深入了解之前,讓我們先快速了解一下 CEL 是什麼。通用表達式語言 (CEL) 是 Google 創建的簡單表達式語言,可讓您編寫簡潔、強大的驗證規則。它用於 Kubernetes CRD 驗證、Istio 配置以及雲端原生生態系統中的許多其他專案。

為什麼要使用 CEL 而不是 JSON 模式?

  1. 更具表現力:CEL 讓您以更自然和可讀的方式編寫複雜的驗證規則
  2. 熟悉的語法:如果您來自 Python 或 JavaScript 等程式語言,CEL 的語法會感覺很自然
  3. 類型安全:CEL 提供強大的類型檢查,同時保持靈活性
  4. 專為雲原生而建構:CEL 已在整個 Kubernetes 生態系中使用

入門

首先,安裝外掛:

您將在圖表目錄中建立values.cel.yaml 文件,而不是建立values.schema.json。這是一個簡單的例子:

驗證您的圖表:

現實世界的例子

讓我們看看一些常見的驗證模式以及它們如何在 JSON Schema 和 CEL 中表達。

1. 必填字段

JSON 架構:

CEL:

2. 條件要求

JSON 架構:

CEL:

3. 複雜的驗證

對於複雜的驗證,JSON 模式可能會變得非常冗長。這是一個 CEL 範例,在 JSON 模式中會複雜得多:

有意義的錯誤訊息

Helm CEL 的最佳功能之一是其清晰的錯誤訊息。當驗證失敗時,您會得到以下有用的輸出:

性能考慮因素

CEL 表達式可以有效率地編譯和計算。該插件為您的 Helm 工作流程增加了最小的開銷,使其適合開發和 CI/CD 管道。

下一步

  1. 安裝外掛:helm plugin install https://github.com/idsulik/helm-cel
  2. 查看 GitHub 儲存庫以取得更多範例
  3. 開始寫自己的驗證規則!

結論

Helm CEL 帶來了一種更具表現力和可維護性的方式來驗證您的 Helm 圖表。如果您發現自己在與 JSON Schema 作鬥爭或想要更靈活的驗證規則,請嘗試一下。熟悉的語法、強大的表達式和清晰的錯誤訊息的組合使其成為任何 Helm 使用者工具包的寶貴補充。

您希望看到什麼驗證模式?請在下面的評論中告訴我!

以上是Helm CEL 簡介:一種更具表現力的方式來驗證 Helm 圖表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板