0Pricing
Helm Academy · 课时

使用 values.schema.json 进行架构验证

在渲染前拒绝无效值

使用 values.schema.json 进行架构验证 是 CoddyKit 上的免费 Helm Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Helm Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Helm Academy 课程共包含 4 节课。

保护您的值

用户可以向您的 Chart 传入任意值。values.schema.json 文件可以在任何模板渲染前拒绝错误的输入。🚧

它是 JSON Schema

该文件遵循标准的 JSON Schema 格式。您可以描述值必须具有的结构、类型和必需字段。

它存放在哪里

请将 values.schema.json 放在 Chart 根目录中,紧邻 values.yaml。Helm 会自动识别它,无需额外标志。

最小化模式

每个模式都以 object 类型开始,并通过 properties 块描述 Chart 接受的每个值。

{
  "type": "object",
  "properties": {}
}

为字段指定类型

在 properties 中,您可以声明每个字段的类型,例如将副本数量指定为 integer,这样字符串就会被拒绝。

"replicaCount": { "type": "integer" }

将字段标记为必需

required 数组列出必须存在的字段。遗漏其中任何字段,Helm 都会拒绝渲染 Chart。

"required": ["image"]

限制值的范围

您可以添加 minimum 等限制条件,这样小于 1 的 replicaCount 会立即被识别为无效。

"replicaCount": { "type": "integer", "minimum": 1 }

限制为指定集合

使用 enum 只允许特定字符串,例如服务类型只能是 ClusterIP、NodePort 或 LoadBalancer。

"type": { "enum": ["ClusterIP", "NodePort"] }

何时执行验证

Helm 会在安装、升级、模板渲染和 lint 期间根据模式进行验证,因此错误的值在各个环节都会被阻止。

清晰的失败消息

当值不符合模式时,Helm 会停止并准确打印出哪个字段无效,让修复过程快速而明确。

Error: values don't meet the specifications of the schema(s)

为什么这很重要

模式可以将无声的配置错误转化为明确且尽早出现的错误,保护 Chart 的用户免受生产环境中的意外问题影响。

快速检查

您希望在镜像值缺失时让 Chart 拒绝安装。您应该使用什么?

回顾

您学到了,values.schema.json 使用 JSON Schema 验证用户输入,并利用 type、required、minimum 和 enum 尽早阻止无效值。🎉

常见问题解答

「使用 values.schema.json 进行架构验证」课时是免费的吗?

是的 — 「使用 values.schema.json 进行架构验证」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Helm Academy 课程的其余内容,请升级到 CoddyKit PRO。 Helm Academy 课程共包含 4 节课。

「使用 values.schema.json 进行架构验证」这节课中我会学到什么?

在渲染前拒绝无效值 你通过在浏览器中直接运行的动手代码来练习 Helm Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Helm Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Helm Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「使用 values.schema.json 进行架构验证」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Helm Academy 课中编写并运行代码吗?

能。每节 Helm Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 helm lint 执行静态检查
  2. 使用 helm template 验证输出
  3. 编写 helm test 测试用例
  4. 使用 values.schema.json 进行架构验证
← 返回 Helm Academy