转载于https://www.cnblogs.com/kevingrace/p/14412283.html
一、直接修改pod的yaml部署文件,apply滚动更新(基于yaml文件)
通过 "kubectl apply -f *.yaml" 命令触发pod的滚动更新。前提是pod的yaml部署文件内容必须是有所更新的,否则执行kubectl apply命令不会触发pod的滚动更新。
二、通过set image命令滚动更新(基于image镜像)
如果不想直接修改pod的yaml文件内容,就通过 "kubectl set image deployment deployment_name pod_name=new_image_name" 命令来滚动更新重启pod。
三、rollout restart方式滚动更新
1)在 k8s v1.15 版本之前,通过修改 annotations 的变量值可实现滚动重启 Pod ,当然这个方法其实更改了 yaml 文件,不过是更改的自定义变量字段通过时间戳的方式来设置值,一般不会对 Pod 主要内容有影响:
1
2
|
# kubectl patch deployment web -p "{"spec":{"template":{"metadata":{"annotations":{"date":"`date +'%s'`"}}}}}" |
2)在 k8s v1.15 版本之后,通过 kubectl rollout restart 命令来滚动重启pod:
1
|
# kubectl rollout restart deployment your_deployment_name |
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************