示例:当前版本为1.2.3,我执行了头盔升级到1.2.4版本,在statefulset升级期间,有一种方法可以访问“ from”版本,例如1.2.3
答案 0 :(得分:0)
不确定在升级过程中是否可以访问“ from”版本,但是可以在使用helm list
命令进行升级之前获得它
helm list --filter 'your-release' -n your-namespace -o json | jq '.[0]'
{
"name": "your-release",
"namespace": "your-namespace",
"revision": "549",
"updated": "2020-07-31 14:54:44.168919115 +0000 UTC",
"status": "failed",
"chart": "your-chart-0.1.0",
"app_version": "0.2.1"
}
中所述
存储库中的软件包由名称和版本标识。
您可以从返回的chart
键中剪切版本
PREVIOUS_VERSION=$(helm list --filter 'your-release' -n your-namespace -o json | jq '.[0].chart' | grep -Po '(?<=your-chart-)[^;]+' | sed 's/.$//')
echo $PREVIOUS_VERSION
0.1.0
答案 1 :(得分:0)
我不了解内置功能,也没有简单的方法来访问以前的版本,但是可能有解决方法。
您可以使用 edbighead 提及的方法来获取先前版本,并通过--set
传递它,如下所示:
helm upgrade --set previousVersion=$PREVIOUS_VERSION
,然后在图表中使用以下条件语句:
{{- $var := semver .Values.previousVersion | (semver "1.2.4" ).Compare }}
{{- if ne $var 1 }}
...
{{- end }}
仅当previousVersion
大于或等于1.2.4时,if语句才为true。