区分默认配置和环境覆盖
左侧三个入口各自保存一份文本。默认栏放 chart 自带的配置,旧版和新版各放一份完整环境覆盖。空白栏按空映射处理;只有三栏全空时才提示输入。新版始终独立计算,不会叠加在旧版上。
Kubernetes
默认配置、旧覆盖、新覆盖分别保存,比较两份有效配置,也可检查原始声明。
三份输入均在当前浏览器处理,不上传配置内容。
默认遮蔽输出值;路径与键名仍可见。编辑器和替换预览保留原文,脱敏 YAML 仅供审阅。
Helm 3.19.0 单 chart:默认值分别与旧、新覆盖合并。映射递归合并,数组整体替换;差异按数组索引比较。
每栏 200,000 字符、20,000 节点、60 层;报告最多 5,000 条变化和 400 万字符,计算限时 5 秒。
输入配置或运行比较。
Helm Values Diff 适合排查一种容易误读的修改:从环境配置中删掉一行,应用里的设置却没有消失,而是恢复成 chart 默认值。把默认 Values 文件放进基线后,可以分别检查旧版和新版的有效结果;需要核对作者到底删了哪些声明时,再切换到原始覆盖模式。
Helm Values Diff 把同一份默认配置分别与两份覆盖值合并。新版没有声明副本数时,使用默认副本数,不会继承旧版覆盖的数值。这种 Helm values 合并预览能解释文件改动与最终配置之间的差别。
先用真实值判断差异,再遮蔽报告中的标量。因此旧密码与新密码即使显示成相同占位标记,也仍有一条修改记录。新增对象和数组里的嵌套值同样会被遮蔽,方便把变更范围交给同事审核。
左侧三个入口各自保存一份文本。默认栏放 chart 自带的配置,旧版和新版各放一份完整环境覆盖。空白栏按空映射处理;只有三栏全空时才提示输入。新版始终独立计算,不会叠加在旧版上。
默认检查有效值;原始覆盖模式能看见最终效果相同、写法却发生变化的声明。右侧旧合并与新合并视图始终显示有效配置。切换输入页签不会丢失内容,切换结果页签也不会改变比较方向。
自动对比等待输入停顿 350 毫秒。关闭后可点击对比或使用 Ctrl/Cmd+Enter。改输入或参数会立即禁用旧报告导出;复制与下载使用当前结果视图。示例、清空、交换都先预览替换内容和字符数量,应用后可撤销一次。
嵌套映射保留未被覆盖的默认子键;空映射不会清除已有默认子项。数组和标量按覆盖值替换,空数组可替换原来的非空数组。false、数字零和空字符串都是真实值,不会被当成缺失。
每条差异使用 JSON Pointer 路径,并保留前后类型。不存在的键与 null 不相同,字符串数字也不等于数值。路径中的斜杠编码为 ~1,波浪号编码为 ~0,空键也有对应路径。
结构比较忽略注释、空白与映射键顺序。数组合并时整组替换,比较时则按索引对齐;在开头插入元素可能造成后续多个位置变化,不会被猜测为按名称移动或追加。
差异 JSON 包含模型版本、对比模式、脱敏状态、全部差异及两份有效 YAML。合并视图只导出当前版本。界面先显示 50 条差异,可继续展开,复制与下载始终包含完整结果。
先在这里检查 values 层,再用 helm diff 或现有发布流程检查渲染后的清单。即使有效值没有差异,模板、chart 版本和集群能力变化仍可能导致资源不同,不能据此断言升级没有影响。
环境覆盖优先;嵌套映射只覆盖声明的子键,其余继续继承默认值。本页每个版本只有一份覆盖输入,多个文件应先按实际发布顺序整理,再放入对应栏。旧版不会作为新版的额外默认层。
Helm 把该键下的列表整体替换,不按名称匹配对象,也不自动追加元素。差异视图随后按索引比较两份结果,所以可能看到多个位置变化;这只是报告方式,不是列表合并规则。
在对应覆盖位置显式写 null;只删去覆盖声明会重新继承默认值。如果默认映射中原本没有该键,新增的 null 会被保留。因此默认键被删除与新键的值为空,是两种不同结果。
可以。保持遮蔽开启,差异先按原值计算,再显示类型标记。报告不会只遮蔽疑似密码,也会隐藏普通标量值;分享前仍需检查可见的键名和路径,避免它们本身包含敏感内容。
有需要反馈的配置对比场景?