我在CI中使用头盔来升级具有较新版本图表的部署。
helm upgrade --wait --install .
预期的行为: --wait标志应等待新图表中定义的readinessProbe。 也可以看看: https://docs.helm.sh/helm/#helm-upgrade
但是,即使readinessProbe失败了,它也不会等待并只是部署新图表。
这将导致新图表失败,而旧图表被杀死。
与它无关 https://github.com/helm/helm/issues/3173,因为readinessProbe已正确执行并且失败。但是Helm根本不等这个。
有人遇到这样的问题吗? 谢谢!
答案 0 :(得分:1)
通过在部署资源中设置以下Kubernetes yaml描述来解决此问题:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
Kubernetes Deployment Documentation:
注意:Deployment Controller将停止错误的部署 自动,并且将停止按比例放大新的ReplicaSet。这个 取决于rollingUpdate参数(具体为maxUnavailable) 您指定的。 Kubernetes默认将值设置为1和 .spec.replicas设为1,因此如果您不关心设置那些 参数,默认情况下,您的部署可能无法使用100%! 将来的版本将在Kubernetes中修复该问题。