在使用不存在的映像更新部署时,Kubernetes首先将终止现有的pod,最后将导致部署中断。 是否可以告诉kubectl在终止现有吊舱之前验证/拉取图像?
答案 0 :(得分:2)
我不得不将strategy.rollingUpdate.maxUnavailable
更改为0
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
我认为strategy.rollingUpdate.maxUnavailable
的默认值为1
感谢Michael Hausenblas
答案 1 :(得分:0)
虽然我没有对此进行测试,但我认为从理论上讲应该可以:
您可以使用准入控制器AlwaysPullImages
和一种部署策略,其中至少有一个Pod处于运行状态。准入控制器确保在容器启动之前Always
提取图像。
要启用此准入控制器,您将必须在Kubernetes API服务器(如from this link)上启用标志:
kube-apiserver --enable-admission-plugins=AlwaysPullImages,LimitRanger
答案 2 :(得分:0)
提高生机/准备状态将确保仅在新吊舱健康的情况下终止旧吊舱。