在一定比例的时间内使用头盔安装/升级时,出现此故障:
Failed to install app MyApp. Error: UPGRADE FAILED: timed out waiting for the condition
这是因为应用程序有时需要更多时间才能启动并运行。
当我收到此消息时,Helm不会停止安装/升级,但仍会继续进行,最终会成功。我的整个集群将完全正常运行。
但是,头盔仍然显示该发行版的这种失败状态。
一方面,这很烦人,另一方面,它可能会破坏正确安装的发行版。
如何清除此错误错误并进入“已部署”状态(无需重新安装/升级)?
答案 0 :(得分:0)
在这里您可能会发现有用的是以下两个选项:
--wait
:等待所有Pod都处于就绪状态,PVC绑定,部署中的Pod最少(Desired
减去maxUnavailable
) 就绪状态和服务具有IP地址(如果 在将发布标记为成功之前,请先执行LoadBalancer)。它将等待 持续时间为--timeout
的值。如果超时,则 版本将标记为FAILED
。注意:在以下情况下 部署的副本设置为1,而maxUnavailable
未设置为0 作为滚动更新策略的一部分,--wait
将返回 它已满足准备就绪状态下的最小Pod。
--timeout
:等待Kubernetes命令完成的秒数(默认值为5m0s)
头盔安装和升级命令包括两个CLI选项以帮助检查部署:--wait
和--timeout
。使用--wait
时,Helm将等待,直到在部署中启动了最小的Pod预期数量,然后再将发布标记为成功。只要--timeout
设置为Helm,头盔就会等待。
另外,请注意,这不是cli标志的完整列表。要查看所有标志的描述,只需运行helm <command> --help
。
如果要检查图表为什么失败,可以使用helm history
command。