k8s deployment服务回滚,设置节点为不可调度

服务回滚

通过滚动升级的策略可以平滑的升级Deployment,若升级出现问题,需要最快且最好的方式回退到上一次能够提供正常工作的版本。为此K8S提供了回滚机制。

revision:更新应用时,K8S都会记录当前的版本号,即为revision,当升级出现问题时,可通过回滚到某个特定的revision,默认配置下,K8S只会保留最近的几个revision,可以通过Deployment配置文件中的spec.revisionHistoryLimit属性增加revision数量,默认是10。

复制代码
查看revision
kubectl -n caiwugx rollout history deploy myblog
 
回滚到对应revision
kubectl -n caiwugx rollout undo deploy myblog --to-revision=1

记录回滚:

复制代码
$ kubectl apply -f deploy-myblog.yaml --record
 
$ kubectl -n caiwugx set image deploy myblog myblog=172.21.51.166:5000/myblog:v2 --record=true

查看deployment更新历史:

复制代码
$ kubectl -n caiwugx rollout history deploy myblog
deployment.extensions/myblog
REVISION  CHANGE-CAUSE
1         kubectl create --filename=deploy-myblog.yaml --record=true
2         kubectl set image deploy myblog myblog=172.21.51.166:5000/demo/myblog:v1 --record=true

回滚到具体的REVISION

复制代码
$ kubectl -n caiwugx rollout undo deploy myblog --to-revision=1
deployment.extensions/myblog rolled back

二、设置节点为不可调度(pod 将不再运行在以下节点)

复制代码
kubectl taint node 10.241.x.x  10.241.x.x  10.241.x.x  key=value:NoSchedule

查看pod的状态

复制代码
kubectl -n caiwugx  get pod -A  #查看pod的状态
相关推荐
IT闫15 分钟前
【AI】——结合Ollama、Open WebUI和Docker本地部署可视化AI大语言模型
docker·语言模型·容器
RedCong36 分钟前
使用sealos部署kubernetes集群并实现集群管理
云原生·容器·kubernetes
阿里云云原生38 分钟前
乐言科技:云原生加速电商行业赋能,云消息队列助力降本 37%
科技·云原生
LCY1338 小时前
3.k8s是如何工作的
云原生·容器·kubernetes
Bl_a_ck9 小时前
【C++】Docker介绍
运维·docker·容器·eureka
keepython10 小时前
【n8n docker 部署的代理问题】解决n8n部署无法访问openai等外国大模型厂商的api
运维·人工智能·docker·容器
八股文领域大手子10 小时前
优化IDEA2024.3大型项目启动慢
运维·nginx·spring·docker·容器
LCY13311 小时前
4. k8s核心概念 pod deployment service
云原生·容器·kubernetes
weixin_3993806912 小时前
k8s+helm部署tongweb7云容器版(by lqw)
云原生·容器·kubernetes
爱的叹息13 小时前
微服务的服务调用详解以及常见解决方案对比
微服务·云原生·架构