错误:升级失败:“binder”没有部署版本

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

我部署了一个 Helm Chart,如下所示:

当我尝试运行

helm upgrade
命令时,出现以下错误:

我也尝试使用

--force
选项,但还是一样。

我该如何纠正这个错误?

kubernetes kubernetes-helm
8个回答
4
投票

对于 helm3,

helm uninstall --namespace $NAMESPACE $RELEASE_NAME


2
投票

就我而言,当我有 10 多个失败的版本时,就会出现这个问题。我必须手动删除/修补释放秘密。

但是版本 3.9.0 已修复此问题。

TL;博士

使用 Helm 3.9.0+


1
投票

头盔 v3.7.2

helm upgrade --install

-i, --install 如果此名称的发行版尚不存在,请运行 安装


1
投票

就我而言,当其中一项部署尝试因连接中断而失败时, 升级时很糟糕,待处理且不会回滚。

我尝试根据这些数字找到头盔的秘密:

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
秘密并解决问题。


0
投票

根据此网站

Helm 2 会将当前部署清单与新部署清单进行比较,以应用必要的补丁。但是,它不会比较清单之间的资源状态。 如果之前的部署失败,则集群可能缺少一些资源。在 Helm 2.7.1 之前,Helm 将尝试升级部署而不安装缺少的资源。为了防止这种情况,从版本 2.7.1 开始,Helm 使用最新的成功部署作为升级的基准。如果没有找到成功的部署,系统会返回“helm has noDeployedreleases”错误消息。

因此您可以尝试遵循there提到的解决方案1和3,因为您已经尝试使用

--force
标志。


0
投票

这个对我有用。

首先,清理发布。请注意,该版本的 Kubernetes 资源(包括部署)将从集群中删除,并且 pod 也将被终止。

helm uninstall --namespace <NAMESPACE> <RELEASE_NAME>

应用全新安装

helm install <RELEASE_NAME> -f myvalues.yaml --namespace <NAMESPACE>

0
投票

就我而言,我使用 helm 3.1.2 遇到了此错误。无需清除或删除任何内容,因为它是全新安装。

简单修复:我使用了最新的 helm 版本,在我的例子中是 3.10.2


0
投票

看起来 helm 没有看到您的版本,因为您有不同的默认命名空间。尝试将命名空间标志添加到升级命令中

helm upgrade <release> <chart> --version <version_number> --values <values> --namespace <namespace> 
© www.soinside.com 2019 - 2024. All rights reserved.