【发布时间】:2019-12-24 19:52:09
【问题描述】:
在 kubernetes 中有一个滚动更新(自动没有停机时间)但没有滚动重启,至少我找不到。我们必须更改部署 yaml。有没有办法让滚动“重启”,最好不改变部署yaml?
【问题讨论】:
标签: kubernetes
在 kubernetes 中有一个滚动更新(自动没有停机时间)但没有滚动重启,至少我找不到。我们必须更改部署 yaml。有没有办法让滚动“重启”,最好不改变部署yaml?
【问题讨论】:
标签: kubernetes
在 kubernetes 1.15 之前,答案是否定的。但是有一种使用虚拟注释修补部署规范的解决方法:
kubectl patch deployment web -p \
"{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}"
从 kubernetes 1.15 开始,您可以使用:
kubectl rollout restart deployment your_deployment_name
- 创建了一个新的
kubectl rollout restart命令来滚动重启部署。kubectl rollout restart现在适用于 DaemonSets 和 StatefulSets
【讨论】:
kubectl rollout restart 通过更改部署的 pod 规范上的注释来工作,因此它没有任何集群端依赖项;您可以将它用于较旧的 Kubernetes 集群就好了。)