K8S deployment 重启的三种方法

一般重启deployment,常规操作是删掉对应的pod, 但如果有多个副本集的话,一个个删很麻烦。
除了删除pod,还可以:

方案一: 加上环境变量
kubectl patch deploy  
  -p '{"spec":{"template":{"spec":{"containers":[{"name":"","env":[{"name":"RESTART_TIME","value":"'$(date +%s)'"}]}]}}}}'
方案二: 重新设置镜像
kubectl set image deploy/ = -n
方案三: 使用rollout
kubectl rollout restart deploy -n
PS: rollout restart需要集群版本大于1.15才能支持
以上重启方法均会生成Replicasets(副本集), 可通进行回滚:

# 查看历史版本
kubectl rollout histoty deployment/
# 进行回滚,默认回退到上个版本
kubectl rollout undo deployment/ -n [--to-revision=]
文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树容器编排(生产
# 查看历史版本
kubectl rollout histoty deployment/

# 进行回滚,默认回退到上个版本
kubectl rollout undo deployment/ -n [--to-revision=]

你可能感兴趣的:(kubernetes,容器,云原生)