有没有一种方法可以使用Helm来显示已安装图表的可用图表更新?
例如,我有一个“网络应用程序”图表安装为“测试”版本1.2.4,但在我的仓库1.2.7可用:
# helm ls
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
test default 1 2020-06-04 07:33:07.822952298 +0000 UTC deployed web-app-1.2.4 0.0.1
# helm search repo myrepo
NAME CHART VERSION APP VERSION DESCRIPTION
myrepo/ingress 0.1.0 1.16.0 A Helm chart for Kubernetes
myrepo/sandbox 1.2.3 1.16.0 A Helm chart for Kubernetes
myrepo/web-app 1.2.7 0.0.1 A Helm chart for Kubernetes
我的目标是写一个脚本来发送任何需要更新的图表的通知,这样我就可以查看和运行更新。我很高兴听到任何DevOps风格的工具可以做到这一点,
3条答案
按热度按时间q35jwt9p1#
截至2022年8月28日,无法知道已经安装的舵图来自哪个存储库。
如果你想能够做某种自动化,目前你需要从外部跟踪哪个图表来自哪个repo的信息。
例如:在源代码控制中存储配置,将图表安装为argo应用程序(如果您使用argocd),两者的组合等。
既然这个问题没有描述这些方法的使用,我就做一个假设,给予一个基于我提到的方法的例子。
假设您将所有的Helm图表作为某个本Map表的依赖项存储在源代码控制中。
一个例子是
Chart.yaml
,看起来像这样:在这种情况下,您可以做的是遍历依赖项并执行查找以比较.yaml中的版本与可用版本。
一个bash脚本的例子:
mo49yndu2#
与命令
你可能会得到所有可用的版本。
91zkwejq3#
如果你已经添加了存储库,你可以使用这个脚本来简化升级工作: