无法升级头盔

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

我正在运行 AWS EKS k8s 集群。在此基础上,我部署了几个 Helm 图表。当我更新到最新的 k8s 版本后,我没有意识到其中一个 Deployments 有一个 PodDisruptionBudget,它已在 k8s 版本中被删除。

现在我无法更新受影响的 Helm Chart,因为 PodDisruptionBudget 未知。我已将其从 Helm Charts 中删除,但这没有帮助。 我尝试卸载部署,但由于同样的原因,这也是不可能的。

现在我已经更改了机密内的清单,并从其中删除了 PodDisruptionBudget。

但是当我执行

helm upgrade
时,我收到错误:

Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress

Helm history
给我:

37              Fri Nov 11 08:34:19 2022        failed                  dpn-1.1.0        1.1.0          
40              Sat Sep 16 19:54:04 2023        pending-rollback        dpn-1.1.0        4.17.1          Rollback to 39             

我尝试删除秘密 38 和 39,它们也处于待卸载状态。 但这也没有帮助。

我还可以尝试升级舵图吗?重新设置整个集群需要大量工作......

amazon-web-services kubernetes-helm amazon-eks
2个回答
0
投票

首先,

PodDisruptionBudget
是一个对象,用于定义可能对 Pod 集合造成的最大干扰。

如文档中所述,

PodDisruptionBudget
未删除,但现在它使用
policy/v1
而不是
policy/v1beta1

我建议删除导致问题的 helm 版本

dpn-1.1.0
,然后重新安装


0
投票

这通常发生在之前的 helm 部署失败时。

最简单的解决方法是通过运行此 cmd 来回滚 helm 版本。

选项1

helm rollback <release> --namespace <namespace>

如果您想列出版本

helm ls --namespace <namespace>

选项2

删除最后一个掌舵秘密。

kubectl get secrets 
kubectl delete secret <last-helm-secret>
© www.soinside.com 2019 - 2024. All rights reserved.