如果您的图表没有更改/修改,则限制helm更新或安装



如果在图表中没有检测到新的更改或修改,是否有一种方法可以限制helm的安装或更新?

一种方法-在旧的和新的图表上使用helm模板并做一个区别,然后只有在有变化的情况下才进行更新。

,

values_diff=$(diff work-values/values.yaml work-values/values-prev.yaml | wc -l)

值的地方。Yaml和value优先。

是helm template命令对最新和以前的图表的输出。

然后你做

if [ $values_diff -gt 0 ]
then
....

你的更新逻辑在点所在的地方。

在这里查看完整的工作示例(注意它有一些额外的东西,您可能会忽略)- https://github.com/relizaio/reliza-hub-integrations/blob/master/Helm-cd-with-Reliza/helm_configmap.yaml,这是我更大的教程的一部分- https://worklifenotes.com/2021/05/22/helm-cd-with-reliza-hub-tutorial/

我找到了另一种方法。写了一个小的python脚本,列出在最近两次提交中更改的文件,然后过滤掉被修改的应用程序。

这是一个伟大的插件。

helm plugin install https://github.com/databus23/helm-diff

>>

>>>>

>>

>

你可以这样使用

#!/bin/bash
lines=$(helm diff upgrade -n mynamespace myapp foo/myapp  -f custom-values.yaml)
if [[ $(echo $lines | wc -l) > 0 ]]; then
echo "$lines" | grep "^+|^-"
echo "Helm changes detected."
echo "Running upgrade in 5."; sleep 5  helm upgrade --install -n mynamespace myapp foo/myapp  -f custom-values.yaml
fi

你也可以使用terraform helm provider

https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release

相关内容

  • 没有找到相关文章

最新更新