0Pricing
Helm Academy · 课时

从父级 Values 配置子 Chart

按子 Chart 名称向下传递值

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

子 chart 有自己的值

每个子 chart 都会随附自己的 values.yaml,其中包含自己的默认值。您可以从父 chart 中访问并覆盖这些设置。

嵌套在子 chart 名称下

要配置子 chart,请在父 chart 的 values.yaml 中添加一个与其名称匹配的键。该键下的所有内容都会传递给子 chart。

postgresql:
  auth:
    username: appuser
    database: appdb

键要匹配 name 或 alias

父 chart 中的键必须等于 Chart.yaml 中子 chart 的 name,或者等于您设置的别名。拼写错误会导致配置被静默忽略。

父 chart 会覆盖子 chart 的默认值

您在父 chart 中设置的值会优先于子 chart 自身的默认值。对于您未设置的内容,子 chart 仍会填充其默认值。

也可以在 CLI 中覆盖

您也可以使用 --set 从命令行设置子 chart 的值,并采用相同的、以子 chart 为前缀的点号路径。

helm install web ./mychart \
  --set postgresql.auth.username=appuser

匹配子 chart 的结构

您嵌套的键必须与子 chart 实际的值结构保持一致。请在子 chart 上运行 helm show values,以了解确切的路径。

helm show values bitnami/postgresql

通过渲染进行确认

请使用 helm template 渲染父 chart,并确认子 chart 已获取您的覆盖值,然后再接触真实集群。

helm template web ./mychart | grep -A3 postgresql

子 chart 无法看到父 chart 的键

子 chart 只能读取自身键下的值,无法读取父 chart 的顶层字段。要在多个 chart 之间共享数据,您需要使用全局值。

别名意味着使用别名键

如果您为依赖项指定了别名,请在该别名下进行配置。同一个 chart 被添加两次时,会得到两个彼此独立的值块。

primary-db:
  auth:
    database: orders
replica-db:
  auth:
    database: orders-ro

记录您公开的配置项

请在父 chart 的 values.yaml 中为子 chart 的键添加注释。这样可以避免用户自行查阅子 chart 的完整结构。

尽量减少覆盖

只覆盖确实需要修改的内容。依靠合理的子 chart默认值,可以让父 chart 的值保持简洁,也更易于长期维护。

快速检查

您的 chart 依赖一个名为 redis 的子 chart。您应当在哪里设置它的密码?

回顾:配置子 chart

您已经学会将设置嵌套在父 chart 中子 chart 的名称或别名下,以覆盖子 chart 的配置,然后通过渲染进行验证。🎛️

常见问题解答

「从父级 Values 配置子 Chart」课时是免费的吗?

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

「从父级 Values 配置子 Chart」这节课中我会学到什么?

按子 Chart 名称向下传递值 你通过在浏览器中直接运行的动手代码来练习 Helm Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Helm Academy 需要有经验吗?

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

「从父级 Values 配置子 Chart」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 在 Chart.yaml 中声明依赖
  2. 使用 helm dependency update 纳入依赖
  3. 从父级 Values 配置子 Chart
  4. 条件、标签与全局值
← 返回 Helm Academy