k8s的回滚应用
2023-09-14 09:07:47 时间
kubectl apply
每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。
默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revisionHistoryLimit
属性增加 revision 数量。
下面实践回滚功能。应用有如下三个配置文件 httpd.v1.yml
,httpd.v2.yml
和 httpd.v3.yml
,分别对应不同的 httpd 镜像 2.4.16
,2.4.17
和 2.4.18
:
通过 kubectl apply 更新应用
--record
的作用是将当前命令记录到 revision 记录中,这样我们就可以知道每个 revison 对应的是哪个配置文件。通过 kubectl rollout history deployment httpd
查看 revison 历史记录。
CHANGE-CAUSE
就是 --record
的结果。
如果要回滚到某个版本,比如 revision 1,可以执行命令 :
kubectl rollout undo deployment httpd --to-revision=1
通过查看历史 revision 由3版本变成4版本 ,其实这个4版本对应的就是之前的1版本
通过查看当前应用版本发现 符合上面描述的 1版本对应的 httpd:2.4.16
想要实现回滚功能,必须要加 --record 记录应用的版本。
相关文章
- 3 种发布策略,解决 K8s 中快速交付应用的难题
- 从零开始入门 K8s | 有状态应用编排 - StatefulSet
- 从零开始入门 K8s | 应用存储和持久化数据卷:核心知识
- 从零开始入门 K8s | 应用配置管理
- K8s - Helm简介
- 【收藏】十分钟弄懂 k8s Operator 应用的制作流程
- k8s设置标签禁止istio边车sidebar注入
- 安装kube-prometheus项目:k8s部署prometheus、监控k8s核心组件、添加告警(微信、钉钉、企业微信)、进行数据持久化
- k8s taint命令让master节点参与调度(去除污点node-role.kubernetes.io/master:NoSchedule)
- golang实战:使用os/exec包执行Linux shell命令、使用flag包解析参数实现k8s kubectl helm部署应用完整代码
- 【Go】K8s 管理系统项目[Jenkins Pipeline K8s环境–应用部署]
- 【Go】K8s 管理系统项目36[K8s环境–应用部署]
- 【GO】K8s 管理系统项目35[Docker方式–应用部署]
- k8s的Dashboard
- k8s的deployment应用
- Kubernetes(k8s)之jenkins实现k8s应用的版本升级和回归,k8s集群部署项目
- k8s configmap 挂载配置文件
- k44.第十七章 K8s运维篇-DevOps 持续集成 持续部署 (四)
- 【云原生之kubernetes实战】在k8s集群环境下部署Tomcat应用
- 部署k8s 1.18版本及图形管理工具kuboard(十四)
- Kubernetes(k8s)ConfigMap详解及应用
- K8S实战入门
- 【云原生】K8S-ConfigMap 实现应用和配置分离
- k8s多master集群拓扑