有没有办法检测对 Helm Chart 部署的资源所做的更改

And*_*y G 5 kubernetes kubectl kubernetes-helm

我们部署了多个资源作为 helm (v3) 图表的一部分。前段时间,我通过 手动更改了该 Helm Chart 部署的资源kubectl。这导致 helm 版本部署的 yaml 资源中的值(如 所示helm get values <release>)与集群中实际部署的值之间存在一些偏差

示例:kubectl describe deployment <deployment>显示通过 手动应用的更新图像kubectl re-apply。而helm show values <release>显示了 helm 用于所述部署的原始图像。

我意识到我应该使用helm upgrade修改后的 value.yaml 文件执行 a 来执行图像更改,但我想知道是否有一种方法可以将我手动更新的值的状态与 helm 版本中的值同步。目标是创建一个values.yaml反映集群资源当前状态的新默认值。

谢谢!

小智 1

kubectl diff将有助于识别更改,但它需要清单才能做到这一点。人们必须从 helm 生成清单,并通过运行kubectl diff来识别每个清单的偏差。

我创建了一个 helm 插件helm-drift(很大程度上依赖于kubectl diff),它负责helmkubectl-diff之间的通信以识别漂移。