使用 helm diff 预览变更
在 PR 中展示升级的影响
使用 helm diff 预览变更 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
发布前查看变更
盲目升级令人担忧。helm diff 插件会在您接触集群之前,准确显示升级将添加、更改或删除的内容。👀
diff 是插件而非内置功能
与 lint 或 template 不同,helm diff 是以社区插件形式提供的。安装一次后,它的行为就像 Helm 原生的子命令一样。
helm plugin install https://github.com/databus23/helm-diff比较待执行的升级
使用计划部署的相同发布项名称和图表运行 helm diff upgrade。它会将当前发布项与新清单将生成的内容进行比较。
helm diff upgrade myapp ./mychart -f values-prod.yaml阅读彩色编码的输出
新增行显示为绿色,删除行显示为红色,就像 Git 差异一样。您可以立即看到镜像标签升级了,或副本数量发生了变化。
普通 apply 为何会隐藏这些内容
普通的 helm upgrade 只会应用变更并报告成功。差异插件会先揭示变更意图,让意外情况在审查时就被发现。
在 PR 中发布差异
捕获差异输出,并将其作为PR 评论附加。审查者批准的是实际的基础设施变更,而不只是值文件编辑。
helm diff upgrade myapp ./mychart > change.txt因意外偏差而使构建失败
使用 --detailed-exitcode,让命令在存在变更时返回特殊退出代码。这样,持续集成就可以要求人工确认差异。
helm diff upgrade myapp ./mychart --detailed-exitcode与特定修订版本比较差异
helm diff revision 子命令会比较发布项存储的两个修订版本,让您能够审计部署之间实际发生的变化。
helm diff revision myapp 3 4预览全新安装
对于尚不存在的发布项,请传入 --allow-unreleased,让 diff 将所有内容视为新增内容,而不是直接报错。
helm diff upgrade myapp ./mychart --allow-unreleased隐藏嘈杂字段
Kubernetes 会注入一些您并不关心的字段。使用 --suppress 或规范化标志,让差异只关注有意义的变更。
diff 复用您的 kubeconfig
由于必须读取当前发布项,helm diff 会使用与 kubectl 和 helm 本身相同的 kubeconfig 上下文连接集群。
快速检查
您希望持续集成在升级确实会更改资源时发出提示。哪个标志可以提供帮助?
回顾:先预览再应用
安装 helm diff 插件,比较每次升级的差异,并在 PR 中展示结果。您发布的变更都是自己实际查看并批准过的。✅
常见问题解答
「使用 helm diff 预览变更」课时是免费的吗?
是的 — 「使用 helm diff 预览变更」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「使用 helm diff 预览变更」这节课中我会学到什么?
在 PR 中展示升级的影响 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 helm diff 预览变更」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- CI 中的检查与模板门禁
- 使用 helm diff 预览变更
- 使用 upgrade --install --atomic 自动部署
- 从发布作业发布图表