对于 helm3,
helm uninstall --namespace $NAMESPACE $RELEASE_NAME
头盔 v3.7.2
helm upgrade --install
-i, --install 如果此名称的发行版尚不存在,请运行 安装
就我而言,当其中一项部署尝试因连接中断而失败时, 升级时很糟糕,待处理且不会回滚。
我尝试根据这些数字找到头盔的秘密:
amirio 15:36:18 @amirio:~/Documents/jenkins $ helm history -n ci jenkins
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
14 Wed Dec 28 17:20:30 2022 superseded jenkins-3.8.3 2.303.2 Upgrade complete
15 Thu Dec 29 13:30:24 2022 superseded jenkins-3.8.3 2.303.2 Upgrade complete
16 Fri Jan 6 10:53:02 2023 superseded jenkins-3.8.3 2.303.2 Upgrade complete
17 Sat Mar 18 22:26:49 2023 superseded jenkins-3.8.3 2.303.2 Upgrade complete
18 Sat Mar 18 22:33:12 2023 superseded jenkins-3.8.3 2.303.2 Upgrade complete
19 Sat Mar 18 22:36:53 2023 superseded jenkins-3.8.3 2.303.2 Upgrade complete
20 Sat Mar 18 22:40:28 2023 superseded jenkins-3.8.3 2.303.2 Upgrade complete
21 Sat Mar 18 22:45:39 2023 superseded jenkins-3.8.3 2.303.2 Upgrade complete
22 Sun Mar 19 12:50:36 2023 superseded jenkins-3.8.3 2.303.2 Upgrade complete
23 Wed Apr 12 15:28:24 2023 pending-upgrade jenkins-3.8.3 2.303.2 Preparing upgrade
#23 是 Buggy 升级,并且无法回滚。
要解决此问题,请在该命名空间和部署名称中找到此部署的所有秘密:
amirio 15:38:29 @amirio:~/Documents/jenkins $ kubectl -n ci get secret -A | grep jenkins
ci jenkins Opaque 2 114d
ci sh.helm.release.v1.jenkins.v14 helm.sh/release.v1 1 104d
ci sh.helm.release.v1.jenkins.v15 helm.sh/release.v1 1 104d
ci sh.helm.release.v1.jenkins.v16 helm.sh/release.v1 1 96d
ci sh.helm.release.v1.jenkins.v17 helm.sh/release.v1 1 24d
ci sh.helm.release.v1.jenkins.v18 helm.sh/release.v1 1 24d
ci sh.helm.release.v1.jenkins.v19 helm.sh/release.v1 1 24d
ci sh.helm.release.v1.jenkins.v20 helm.sh/release.v1 1 24d
ci sh.helm.release.v1.jenkins.v21 helm.sh/release.v1 1 24d
ci sh.helm.release.v1.jenkins.v22 helm.sh/release.v1 1 24d
ci sh.helm.release.v1.jenkins.v23 helm.sh/release.v1 1 12m
然后删除#23
sh.helm.release.v1.jenkins.v23
秘密并解决问题。
这个对我有用。
首先,清理发布。请注意,该版本的 Kubernetes 资源(包括部署)将从集群中删除,并且 pod 也将被终止。
helm uninstall --namespace <NAMESPACE> <RELEASE_NAME>
应用全新安装
helm install <RELEASE_NAME> -f myvalues.yaml --namespace <NAMESPACE>
就我而言,我使用 helm 3.1.2 遇到了此错误。无需清除或删除任何内容,因为它是全新安装。
简单修复:我使用了最新的 helm 版本,在我的例子中是 3.10.2。
看起来 helm 没有看到您的版本,因为您有不同的默认命名空间。尝试将命名空间标志添加到升级命令中
helm upgrade <release> <chart> --version <version_number> --values <values> --namespace <namespace>