AWS EKS集群Helm升级失败,pending-rollback状态如何解决?
解决AWS EKS升级后Helm Chart无法更新的问题
1. 解除Helm操作锁定
出现another operation (install/upgrade/rollback) is in progress错误是因为release处于锁定状态,手动重置状态:
- 定位目标release的状态secret(Helm 3格式:
sh.helm.release.v1.<你的release名>.v<版本号>) - 编辑该secret,将
status.state的值从pending-rollback改为failed - 执行
helm status <你的release名>确认状态已更新
2. 清理无效PDB资源
如果集群中残留了使用废弃API版本的PDB,手动删除:
# 常规删除,忽略不存在的资源 kubectl delete pdb <pdb名称> -n <命名空间> --ignore-not-found # 如果常规删除失败(API版本不识别),用raw API删除 kubectl delete --raw "/apis/policy/v1beta1/poddisruptionbudgets/<命名空间>/<pdb名称>"
3. 强制回滚到正常版本
回滚到历史中可用的版本(比如你提到的版本39),跳过资源校验:
helm rollback <你的release名> 39 --force --skip-crds
4. 重新升级Chart
确认本地Chart已移除PDB资源后,执行强制升级:
helm upgrade <你的release名> <Chart路径或仓库名> --force --reset-values
5. 验证修复
检查release状态和集群资源:
helm history <你的release名> kubectl get deploy,pods -n <命名空间>
内容的提问来源于stack exchange,提问作者Daniel Pomrehn
相关产品推荐
相关产品推荐

