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的状态
相关推荐
程序员老赵8 小时前
Docker 部署 Wiki.js:轻松搭建私有化维基知识库
docker·容器·开源
阿里云云原生9 小时前
HiRoute 智能路由实战:GPT-6 Astra × Qwen-3.8 Flash,同等质量下成本降低 90%
云原生
阿里云云原生9 小时前
用自然语言驾驭日志:阿里云 SLS Agent Skills 实践指南
云原生
灯澜忆梦10 小时前
【Docker】#5 | 网络配置
网络·docker·容器
刘胡子大叔10 小时前
docker build 跑了 92 分钟还是失败了
docker·容器
衡石科技11 小时前
衡石 BI PaaS:面向 Agent 的分析底座
云原生·云计算·paas
阿里云云原生12 小时前
阿里云 STAROps 全新升级,让 AI 持续推进问题闭环解决
云原生
分布式存储与RustFS12 小时前
指标、日志、链路进同一个桶:GreptimeDB 存算分离解读与 RustFS 接入配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
阿里云云原生12 小时前
AI 进入生产后,研发组织怎么变
云原生
%KT%13 小时前
ubuntu系统部署docker
运维·docker·容器