轉載於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
|
*************** 當你發現自己的才華撐不起野心時,就請安靜下來學習吧!***************