kubernetes - 下摆升级是否重新安装整个图表或仅更改清单
问题描述
运行时helm upgrade
,helm 是重新安装图表中的所有清单,还是只重新安装已更改的清单?
我似乎找不到任何有关此的文档。欢迎任何参考或文档。
提前致谢。
解决方案
取决于您更新的对象的资源类型。
Helm 本身从不对应该更新的内容做出任何决定。它只是根据您的配置从模板生成对象并将它们应用到 Kubernetes。
现在,让我们谈谈 Kubernetes 是如何处理对象的。每个对象都有可以就地更新和不能更新的参数。
例如,Deployment
您可以在 a 中更新它的注释或标签,但如果您要更新 a 中的相同值spec
(实际上是 a 的模板ReplicSet
),它将使用该值创建新的 RS,而新的 RS 将创建新的 Pod。
因此,如果您调用helm upgrade
,例如,一个结果对象有一些新值无法在现有对象上更新(就地),那么 Kubernetes 将创建一个新对象来替换旧对象。
这是您在升级过程中创建的每个对象的独立过程,因此一些对象将被替换(重新创建)而一些 - 不会。