helm 自动滚动部署
通常 ConfigMaps
或 Secrets
作为配置文件注入到容器中,或者有其他需要滚动 pod 的外部依赖项更改。根据应用程序的不同,如果使用后续 helm upgrade 的 .
如果另一个文件发生更改,该sha256sum
函数可用于确保更新部署的注释部分:
复制代码
注意:如果您将此添加到库图表中,您将无法访问$.Template.BasePath
. 相反,您可以使用{{ include ("mylibchart.configmap") . | sha256sum }}.
如果您总是想滚动部署,您可以使用与上面类似的注释步骤,而不是用随机字符串替换,这样它总是会更改并导致部署滚动:
复制代码
模板函数的每次调用都会生成一个唯一的随机字符串。这意味着如果需要同步多个资源使用的随机字符串,所有相关资源都需要在同一个模板文件中。
这两种方法都允许您的部署利用内置的更新策略逻辑来避免停机。
注意:
过去我们建议使用
--recreate-pods
标志作为另一个选项。该标志在 Helm 3 中被标记为已弃用,以支持上述更具声明性的方法。Helm 中有一些函数允许您生成随机数据、加密密钥等。这些很好用。但请注意,在升级期间,模板会重新执行。当模板运行生成与上次运行不同的数据时,将触发该资源的更新。
版权声明: 本文为 InfoQ 作者【ghostwritten】的原创文章。
原文链接:【http://xie.infoq.cn/article/fd044d3133ecc9bda929f92f0】。文章转载请联系作者。
评论