在 helmfile.yaml 中定义发布
列出每个发布的图表、命名空间和值
在 helmfile.yaml 中定义发布 是 CoddyKit 上的免费 Helm Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Helm Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Helm Academy 课程共包含 4 节课。
发布项列表
helmfile.yaml 的核心是发布项列表。每一项描述您希望在集群中运行的一个 Helm 发布项。
releases:
- name: web
namespace: frontend
chart: ./charts/web名称和图表
每个发布项都需要一个名称和一个图表。名称是 Helm 发布项的名称;图表指向本地路径或仓库中的图表。
- name: api
chart: ./charts/api选择命名空间
命名空间字段决定发布项安装到哪里。Helmfile 会整齐地放置每个发布项,让您不必每次都输入 -n。
- name: redis
namespace: cache
chart: bitnami/redis引用仓库图表
要使用已发布的图表,请在顶部声明仓库,然后将发布项的图表指向 repoName/chartName。
repositories:
- name: bitnami
url: https://charts.bitnami.com/bitnami
releases:
- name: pg
chart: bitnami/postgresql固定图表版本
添加版本以锁定该发布项的图表版本。固定版本可以让部署保持可复现,而不是获取最新版本。
- name: pg
chart: bitnami/postgresql
version: "15.5.0"内联值
值键用于设置图表配置。您可以直接在发布项条目中以内联映射的形式写入覆盖值。
- name: web
chart: ./charts/web
values:
- replicaCount: 3从文件加载值
对于较大的配置,请将值指向一个 YAML 文件路径。这样可以像使用 helm -f 一样,将覆盖值单独放在自己的文件中进行版本管理。
- name: web
chart: ./charts/web
values:
- ./values/web.yaml混合使用文件和内联值
值列表可以混合文件路径和内联映射。后面的条目会覆盖前面的条目,因此请将最具体的值放在最后。
values:
- ./values/base.yaml
- replicaCount: 5快速设置单项覆盖值
对于一次性调整,设置键的作用类似于 helm --set。只需设置一个标量值时,不必编写完整文件,非常方便。
- name: web
chart: ./charts/web
set:
- name: image.tag
value: "1.4.2"切换发布项
已安装标志可以开启或关闭发布项。将其设为 false,Helmfile 会在下一次同步时卸载该发布项。
- name: debug-tools
chart: ./charts/debug
installed: false一个文件管理多个发布项
在发布项下列出所需数量的发布项。Helmfile 会将它们作为一个统一协调的技术栈一起管理。
快速检查
您添加了一个发布项条目,但希望它在下一次运行时从集群中消失。应使用哪个字段?
回顾:定义发布项
您了解到发布项需要名称和图表,还可以选择设置命名空间、版本、值、设置和已安装状态。下一步:针对各环境设置值。🧩
常见问题解答
「在 helmfile.yaml 中定义发布」课时是免费的吗?
是的 — 「在 helmfile.yaml 中定义发布」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Helm Academy 课程的其余内容,请升级到 CoddyKit PRO。 Helm Academy 课程共包含 4 节课。
「在 helmfile.yaml 中定义发布」这节课中我会学到什么?
列出每个发布的图表、命名空间和值 你通过在浏览器中直接运行的动手代码来练习 Helm Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Helm Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Helm Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「在 helmfile.yaml 中定义发布」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Helm Academy 课中编写并运行代码吗?
能。每节 Helm Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 为什么 Helmfile 位于 Helm 之上
- 在 helmfile.yaml 中定义发布
- 环境与各环境的值
- helmfile diff、apply 和 sync