【问题标题】:Helm upgrading chart to specific version and use default latest versionHelm 将图表升级到特定版本并使用默认的最新版本
【发布时间】:2022-11-26 19:58:33
【问题描述】:

我在管道中使用了一个 bash 脚本来升级 Helm 图表以使用最新版本。

helm upgrade \
"${HELM_ENV_RELEASE}" \
"chart-museum/${HELM_CHART}" \
--set-string pod.name="${POD_NAME}" \
--values "${VALUES_FILE}" \
--install \
--force \
--namespace "${K8S_NAMESPACE}" \
--timeout 180s \
--wait;

现在有时,我想使用旧版本。我正在考虑添加一个条件并添加一个变量 HELM_VERSION 并将其与选项 --version 一起使用,如下所示:

if ${HELM_VERSION}!='' // if the helm version is specified and is not empty

helm upgrade \
...
--version "${HELM_VERSION}" 
else                  // if not, then the helm chart should use the latest version

helm upgrade \
...

fi

这是正确的方法吗?如果没有指定,也许有一个我可以使用的默认变量,比如 latest in Docker?

【问题讨论】:

  • 要回答与安装最新版本相关的查询,是的!当您需要升级到最新的图表版本时,您可以忽略指定 --version 标志。

标签: kubernetes kubernetes-helm helm3


【解决方案1】:

helm install --version 选项采用语义版本约束,不一定是固定版本号。 > 0 之类的约束将匹配任何(非开发)版本,并且可以用作默认值。

您可以将其与 Bourne shell 默认值语法结合使用

helm upgrade 
  --version "${HELM_VERSION:->0}" 
  ...

(在"double quotes"内,防止包含空格和其他非字母数字字符的值;在${braces}内明确指示参数扩展;变量HELM_VERSION;或:-如果未设置或为空,默认 >0。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 2019-02-17
    • 1970-01-01
    • 2012-04-21
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多