Helm 将图表升级到特定版本并使用默认最新版本

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

我在管道中使用了一个 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

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

kubernetes kubernetes-helm
1个回答
0
投票

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

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

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

(在

"
双引号
"
内,防止值包含空格和其他非字母数字字符;在
${
大括号
}
内显式指示参数扩展;变量
HELM_VERSION
;或
:-
如果未设置或为空,则为默认值
>0
。)

© www.soinside.com 2019 - 2024. All rights reserved.