You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Tekton Pipeline配合helm-upgrade实现K8s滚动更新时升级失败如何解决

Error: UPGRADE FAILED: timed out waiting for the condition
helm.go:81: [debug] timed out waiting for the condition
UPGRADE FAILED

排查解决步骤

  • 优先延长helm命令超时时间:默认helm upgrade超时时间为5分钟,若应用启动需要执行初始化逻辑、拉取大镜像,很容易触发超时。执行命令时新增--timeout参数即可,例如设置为15分钟:helm upgrade <发布名> <chart路径> --timeout 15m
  • 排查集群内负载启动异常:helm需要等待工作负载所有副本就绪才会返回成功,90%以上的超时都是应用本身无法启动导致的。执行以下命令查看异常信息:
    1. 查看部署详情与事件:kubectl describe deployment <你的工作负载名> -n <对应命名空间>
    2. 查看命名空间下最近的事件排序:kubectl get events -n <对应命名空间> --sort-by='.lastTimestamp'
      重点排查镜像拉取失败、健康检查未通过、资源配额不足、端口冲突、配置项缺失这类常规启动异常。
  • 校验流水线权限与参数正确性:
    1. 先在本地使用和Tekton Task相同的kubeconfig、权限手动执行一次helm upgrade命令,确认不是Tekton ServiceAccount权限不足导致的操作失败
    2. 确认流水线构建出的镜像标签已正确传入helm upgrade参数,例如是否漏加--set image.tag=<流水线构建的新镜像标签>参数,导致未触发实际更新
  • 检查Helm Chart滚动更新配置:确认滚动更新策略参数配置合理,例如副本数为1时maxUnavailable不能设置为1,否则会出现老实例先销毁、新实例无法启动的死锁情况。如果命令中加了--atomic参数,可以先移除该参数后重试,避免自动回滚过程掩盖原始升级报错。

内容的提问来源于stack exchange,提问作者Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:15:03