退出 pending-upgrade 和卡住状态
恢复在操作中途卡住的发布
退出 pending-upgrade 和卡住状态 是 CoddyKit 上的免费 Helm Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Helm Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Helm Academy 课程共包含 4 节课。
发布版本卡住时
如果升级被中断,发布版本可能会卡在 pending-upgrade 状态,并拒绝任何新的操作。请不要惊慌。🛑
识别状态
运行 helm list,卡住的发布版本会显示 pending-upgrade 或 pending-install 等状态,而不是健康的 deployed 状态。
helm list --all --namespace web发生这种情况的原因
pending 状态表示 Helm 开始写入一个修订版本却从未完成,通常是进程被终止或升级中途达到超时导致。
最简洁的修复方法
最安全的脱身办法是回滚到上一个正常修订版本。helm rollback 会将发布版本恢复到已知的健康状态。
helm rollback my-app 0选择目标版本
先检查 helm history,查看上一次成功部署的是哪个修订版本,然后回滚到那个确切的编号。
helm history my-app回滚到零
传入修订版本 0 是一个方便的快捷方式:它会告诉 Helm 回滚到上一个发布版本,而无需您指定编号。
helm rollback my-app发布版本存储为 Secret
Helm 3 会将每个修订版本保存在发布版本命名空间中的 Kubernetes Secret 里。该记录负责跟踪 pending 状态。
检查记录
列出这些密钥资源,直接查看修订历史。最新的那个带有阻塞您操作的待处理状态。
kubectl get secret -l owner=helm,name=my-app -n web最后的清理手段
如果回滚无济于事,请删除失败的待处理修订版本密钥资源。随后,工具会将先前的修订版本作为最新版本。
kubectl delete secret sh.helm.release.v1.my-app.v5 -n web然后重试升级
清除卡住的记录后,请再次运行您的升级命令。状态恢复干净后,这次它就会正常继续。
helm upgrade my-app ./my-app防止下次再发生
在升级时加入原子化选项可以彻底避免卡住的状态:运行失败时会自动回滚,而不会让您陷入僵局。
helm upgrade my-app ./my-app --atomic --timeout 5m快速检查
一个发布版本卡在待升级状态。恢复它时,最安全的第一步是什么?
总结
您现在已经能够挽救卡住的发布版本:识别待处理状态,使用回滚命令恢复到正常修订版本,或删除失败发布版本的密钥资源。使用原子化选项来防止此问题。🚀
用 AI 导师学习 YAML — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「退出 pending-upgrade 和卡住状态」课时是免费的吗?
是的 — 「退出 pending-upgrade 和卡住状态」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Helm Academy 课程的其余内容,请升级到 CoddyKit PRO。 Helm Academy 课程共包含 4 节课。
「退出 pending-upgrade 和卡住状态」这节课中我会学到什么?
恢复在操作中途卡住的发布 你通过在浏览器中直接运行的动手代码来练习 Helm Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Helm Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Helm Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「退出 pending-upgrade 和卡住状态」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Helm Academy 课中编写并运行代码吗?
能。每节 Helm Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 使用 --debug 和 --dry-run 跟踪渲染
- 使用 helm get all 读取清单
- 退出 pending-upgrade 和卡住状态
- 端到端构建生产级应用图表