Oct*_*xan 28 kubernetes kubernetes-helm
我在运行之前尝试运行 Helm 升级helm repo update,现在它似乎永久停留在“状态:挂起升级”并且不会让我再次尝试运行升级。
试图运行:
helm upgrade --namespace coder --install --force --atomic --wait --version 1.13.2 --values ./coder.yaml coder coder/coder
输出: Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress
bwl*_*289 27
TLDR:您需要先回滚到另一个版本,然后helm upgrade再回滚:
helm rollback <release> <revision> --namespace <namespace>
发生这种情况的原因有很多,但最终会在升级/安装过程中出现中断时发生。通常,您SIGKILL( Ctrl C) 在部署正在进行时。
你会注意到,如果你helm ls --namespace <namespace>在它卡在STATUS: pending-upgrade状态时,你会看到以下没有任何其他信息的信息:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
Run Code Online (Sandbox Code Playgroud)
目前最好的解决方法是回滚到另一个版本,然后helm upgrade再次:
helm rollback <release> <revision> --namespace <namespace>
revision 是可选的,但您应该尝试提供它。
更多资源:
Man*_*j I 27
这对我有用
helm list --all这将列出所有版本及其状态NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
rel1 default 1 2021-06-04 14:15:37.652066 +0530 IST deployed rel1-3.32.0 0.46.0
rel2 default 29 2021-06-18 11:02:38.779801 +0530 IST pending-upgrade rel2-0.0.1
rel3 default 3 2021-06-17 11:27:14.608042 +0530 IST deployed rel3-0.0.1
Run Code Online (Sandbox Code Playgroud)
helm rollback rel2 28 --namespace defaultNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
rel1 default 1 2021-06-04 14:15:37.652066 +0530 IST deployed rel1-3.32.0 0.46.0
rel2 default 30 2021-06-18 11:26:07.555547 +0530 IST deployed rel2-0.0.1
rel3 default 3 2021-06-17 11:27:14.608042 +0530 IST deployed rel3-0.0.1
Run Code Online (Sandbox Code Playgroud)
duy*_*tpt 14
这个解决方案对我有用:
kubectl get secrets
kubectl delete secret sh.helm.release.v1.<RELEASE_NAME>.v<LATEST_REVISION>
Run Code Online (Sandbox Code Playgroud)
小智 9
万一对某人有用,并且为了回应explicitsoul的评论,对我来说修复它的是:
helm delete <release> -n <namespace>
Run Code Online (Sandbox Code Playgroud)
这删除了挂起的安装(在我的情况下,是第一个,所以我没有要回滚到以前的版本),然后我能够再次运行安装。
在我的情况下导致卡住的过程是 CTRL-C 取消安装命令,所以不要这样做。
我也面临同样的情况。我使用了 helm 3.4.1...当部署处于挂起状态并且您使用 --atomic (在 helm3 中也意味着 --wait)时,就会发生这种情况。
我无法进行升级。最糟糕的是,甚至helm -n code list没有显示任何内容,所以我无法执行以下操作:
helm -n code code
Run Code Online (Sandbox Code Playgroud)
由于 helm3 将此类信息保存在机密中,因此只需清理相应的机密并进行安装(或升级 --install ,但不带 --atomic )。在你的情况下类似
helm delete --namespace code secret sh.helm.release.v1.code.v1
Run Code Online (Sandbox Code Playgroud)
(其中最后一个 v1 是版本号,因此如果您同意的话,可以列出并删除所有内容)。
以及战后的 helm 安装。
注意:旧对象(pod 等)将在那里,因此新安装将尝试合并内容。对我来说没问题,但请注意 -> 这是一个黑客:)
更多信息: https: //github.com/helm/helm/issues/5595
为了回滚到以前的版本,您只需传递版本名称即可:
helm rollback <RELEASE_NAME>
Run Code Online (Sandbox Code Playgroud)
当你运行->栏下RELEASE_NAME时可以看到哪里。helm list --allNAME
(*)--namespace <namespace>如果终端上下文未设置为命名空间,则添加。