配备就绪探测器的头盔部署

时间:2018-09-18 10:07:33

标签: kubernetes kubernetes-helm

我在CI中使用头盔来升级具有较新版本图表的部署。

helm upgrade --wait --install .

预期的行为: --wait标志应等待新图表中定义的readinessProbe。 也可以看看: https://docs.helm.sh/helm/#helm-upgrade

但是,即使readinessProbe失败了,它也不会等待并只是部署新图表。

这将导致新图表失败,而旧图表被杀死。

与它无关 https://github.com/helm/helm/issues/3173,因为readinessProbe已正确执行并且失败。但是Helm根本不等这个。

有人遇到这样的问题吗? 谢谢!

1 个答案:

答案 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中修复该问题。