1.15版本之后可通过kubectl rollout restart deployment -n 命令来实现滚动重启POD
该命令会先创建待用POD,待新POD运行成功后,再关闭原有POD。因此需要保证node节点数量大于POD数量,否则新POD无法正常启动。
当POD数量与node数量相同时,可使用先减小deployment规模的方法,先减小规模,再执行重启,待重启成功后再恢复deployment规模:
kubectl scale deployment pluto --replicas=2 -n test
kubectl rollout restart deployment pluto -n test
kubectl scale deployment pluto --replicas=3 -n test
方法1
kubectl scale deployment XXXX --replicas=0 -n {namespace}
kubectl scale deployment XXXX --replicas=1 -n {namespace}
方法2
kubectl delete pod {podname} -n {namespace}
方法3
kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -
方法4
Kubernetes 1.15开始才有
kubectl rollout restart deploy {your_deployment_name}
https://segmentfault.com/a/1190000020675199