在kubernetes中滾動重啟pod常用方法:
一、直接修改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 主要內容有影響:
# kubectl patch deployment web -p \ "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}"
2)在 k8s v1.15 版本之后,通過 kubectl rollout restart 命令來滾動重啟pod:
# kubectl rollout restart deployment your_deployment_name