Pod滚动重启方法 - 运维笔记

 

在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

  

posted @ 2021-02-18 16:14  散尽浮华  阅读(4787)  评论(1编辑  收藏  举报