如何让 helm / helmfile 从存储库安装最新的图表版本?

问题描述 投票:0回答:1

我正在测试 helm 打包和 helm 包安装,并且我已将多个版本推送到我的 helm 存储库 (Sonatype Nexus)。这些是我推送的版本:

  • 版本 1.0.0 / 应用程序版本 1.0.0
  • 版本 1.0.1-RC / 应用程序版本 1.0.1-RC
  • 版本 1.0.2-RC / 应用程序版本 1.0.2-RC
  • 版本 1.3.0-dev-RC / 应用程序版本 1.3.0-RC
  • 版本 1.3.0-staging-RC / 应用程序版本 1.3.0-RC
  • 版本 1.3.0-dev-RELEASE / 应用程序版本 1.3.0-RELEASE

现在当我这样做时

helm upgrade --install myRepo/myChart

我将安装 1.0.0 版本。不过我可以

helm upgrade --install myRepo/myChart --version 1.3.0-dev-RC

它将安装该版本 1.3.0-dev-RC 就好了。

helmfile
同样的问题。给定这个 helm 文件:

releases:
- name: myChart
  chart: myRepo/myChart
  version: ">=1.0.0"

apply
ing时,我也会部署1.0.0版本。

这是为什么呢?如果我不指定,我会假设 helm 将安装最新版本。

kubernetes repository kubernetes-helm nexus helmfile
1个回答
0
投票

带有连字符的版本号是语义版本控制预发布版本(§9)。

helm install
文档注释

[Helm] 将安装该图表的最新稳定版本,直到您指定 '--devel' 标志以还包括开发版本(alpha、beta 和发布候选版本),或使用 '--version' 提供版本号旗帜。

Helmfile 对于仅使用稳定版本有类似的规则,或者有一个

devel: true
选项并行
helm install --devel

如果您想要最新的非必需发布版本,那么您可以使用这些选项

helm upgrade --install --devel myRelease myRepo/myChart
releases:
- name: myChart
  chart: myRepo/myChart
  devel: true

请注意,

--devel
--version
无法有效组合,
--devel
相当于设置
--version '>=0.0.0-0'
。另请注意,根据 semver 规则,
1.3.0-dev-RC
小于版本
1.3.0
;因此,如果您需要任何 1.3 之前或更高版本,但不需要 1.2 版本,则需要类似的语法

helm upgrade --install --version '>= 1.3.0-0' ...
© www.soinside.com 2019 - 2024. All rights reserved.