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的状态
相关推荐
Code_Artist2 小时前
使用Portainer来管理并编排Docker容器
docker·云原生·容器
Eternal-Student2 小时前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
码农小丘2 小时前
一篇保姆式centos/ubuntu安装docker
运维·docker·容器
灼烧的疯狂4 小时前
K8S + Jenkins 做CICD
容器·kubernetes·jenkins
wenyue11214 小时前
Revolutionize Your Kubernetes Experience with Easegress: Kubernetes Gateway API
容器·kubernetes·gateway
梅见十柒6 小时前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Python私教7 小时前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
运维&陈同学8 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
O&REO8 小时前
单机部署kubernetes环境下Overleaf-基于MicroK8s的Overleaf应用部署指南
云原生·容器·kubernetes
politeboy9 小时前
k8s启动springboot容器的时候,显示找不到application.yml文件
java·spring boot·kubernetes