Lazy loaded image
编程开发
通过 helm-diff 插件进行 helm release 版本变更对比
Words 392Read Time 1 min
2026-1-30
2026-1-30
date
related_level
slug
k8s_helm_diff
type
Post
relate_date
summary
helm-diff 直观验证升级影响
status
Published
tags
版本管理
category
编程开发
last_updated
Jan 30, 2026 05:27 PM
是否已更新
orginal_page
是否推荐
helm 3 安装 helm-diff 插件
  • helm plugin install https://github.com/databus23/helm-diff
    • helm 4 因为需要插件验证,添加标识 --verify=false
  • 后续以 jenkins 为例
helm 获取当前 release 的 values 文件
  • helm get values <RELEASE_NAME> -n <NAMESPACE>
    • 默认只会输出用户显式设置的值,不包含默认值,也不包含安装后手动修改的部分
    • --all 包含默认值
    • --revision=<num> 获取历史版本的 values
      • helm history <RELEASE_NAME> -n <NAMESPACE>
  • helm get values jenkins -n jenkins --all > values.live-5.8.115.yaml
通过 jd 查看 jenkins 版本变更导致的差异
  • jd -yaml -f jd -o diff-5.8.115_5.8.130.patch.jd \ values.default-5.8.115.yaml values.default-5.8.130.yaml
    • 查看默认 values 升级带来的差异并制作为补丁文件
  • jd -yaml -p diff-5.8.115_5.8.130.patch.jd \ values.live-5.8.115.yaml > values.upgrade-5.8.130.yaml
    • 对现有 values 进行修补
  • jd -yaml -f jd -o diff-upgrade-5.8.115_5.8.130.patch.jd \ values.live-5.8.115.yaml values.upgrade-5.8.130.yaml
    • 比较现有 values 修补前后的差异并制作为补丁文件
  • diff -u diff-5.8.115_5.8.130.patch.jd diff-upgrade-5.8.115_5.8.130.patch.jd
    • 最后查看两个差异补丁是否一致,确认是否需要对现有 values 进行更新
      • 默认 values 升级带来的差异
      • 现有 values 修补前后的差异
helm diff upgrade 直接查看版本升级差异
  • helm diff upgrade jenkins jenkins/jenkins \ -n jenkins --version 5.8.130 \ --reuse-values \ --context 5 --normalize-manifests --three-way-merge \ --suppress-output-line-regex="helm.sh/chart" --suppress-output-line-regex="version"
    • --reuse-values 复用现有 release 的 values
    • --context 5 显示 diff 部分周围的上下文行数
    • --normalize-manifests 格式化以排除格式影响
    • --three-way-merge 参考 last applied, live state 与 new desired 进行比较
      • 默认为 false,不考虑 live state 即 applied 之后的更改
    • --suppress-output-line-regex 使用正则表达式抑制匹配的 diff 输出行
      • 过滤 chart 版本变化
      • 类似还有 --suppress stringArray 指定 k8s Kind
 
上一篇
GnuPG 加密工具
下一篇
Linux 进程、任务及服务管理

Comments
Loading...