参考文档:
https://www.kokojia.com/article/61492.html
一:kubectl rollout restart
这个命令是比较推荐的
重建这个deployment下的 pod,和滚动升级类似,并不会一次性杀死Pod,比较平滑。
kubectl rollout restart deployment <deployment_name> -n
二:kubectl scale
这种方法相对来说,比较粗放,我们可以先将副本调成 0
kubectl scale deployment -n –replicas=0
然后再改回目的副本数
kubectl scale deployment -n –replicas=10
但这个会中断服务。但两条命令也能解决,下面介绍的就更直接了。
三: kubectl delete pod
kubectl delete pod <pod_name> -n
四:kubectl replace
这种方法是通过更新Pod ,从触发k8s pod 的更新
kubectl get pod <pod_name> -n -o yaml | kubectl replace –force -f -
或者:
kubectl replace –force -f xxx.yaml
五:kubectl set env
通过设置环境变量,其实也是更新pod spec从而触发滚动升级。
kubectl set env deployment -n DEPLOY_DATE="$(date)"
评论