【k8s】deploy-rollback
k8s Deploy rollback
2023-09-27 14:23:50 时间
环境
- kubernetes 1.20.4
- Spring Boot 2.5.0-M3
目标
deploy 除了可以方便地进行上线操作之外,还可以方便地执行回滚操作。
示例
Deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: busybox
spec:
selector:
matchLabels:
app: busybox
replicas: 8
template:
metadata:
labels:
app: busybox
spec:
terminationGracePeriodSeconds: 5
containers:
- name: busybox
image: busybox:1.30.0
command: ["/bin/sh", "-c", "sleep 3600"]
修改镜像版本
kubectl set image deployment/busybox busybox=busybox:1.31.0 --record
kubectl set image deployment/busybox busybox=busybox:1.32.0 --record
执行两次升级
查看更新历史
[root@master ~]# kubectl rollout history deployment busybox
deployment.apps/busybox
REVISION CHANGE-CAUSE
1 <none>
2 kubectl set image deployment/busybox busybox=busybox:1.31.0 --record=true
3 kubectl set image deployment/busybox busybox=busybox:1.32.0 --record=true
可以看到有三次记录,分别创建时,第一次升级和第二次升级。
回滚到上一次
[root@master ~]# kubectl rollout undo deployment busybox
deployment.apps/busybox rolled back
回滚到指定版本
[root@master ~]# kubectl rollout history deployment busybox
deployment.apps/busybox
REVISION CHANGE-CAUSE
1 <none>
3 kubectl set image deployment/busybox busybox=busybox:1.32.0 --record=true
4 kubectl set image deployment/busybox busybox=busybox:1.31.0 --record=true
[root@master ~]# kubectl rollout undo deployment busybox --to
--token --token= --to-revision --to-revision=
[root@master ~]# kubectl rollout undo deployment busybox --to-revision=1
deployment.apps/busybox rolled back
总结
deploy 除了可以执行更新操作,还可以方便地执行回滚操作。可以回滚到上一次,也可以指定回滚到的版本。
附录
相关文章
- [k8s]简单启动一个k8s集群
- k8s官方案例练习-使用 ConfigMap 来配置 Redis
- 【k8s】automountServiceAccountToken
- 【k8s】deploy-pod-template-hash
- 【k8s】deploy-rs
- 【k8s】deploy-Recreate
- 【k8s】deploy-revisionHistoryLimit
- 【k8s】deploy-paused
- 【k8s】Pod-activeDeadlineSeconds
- 通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)
- K8S部署Redis Cluster集群(三主三从模式) - 部署笔记
- 2022-04-01 访问k8s内的etcd的数据
- K8s之YAML语法
- 微服务动态路由实现:OpenResty+K8s
- K8S学习笔记
- 如何查看K8S的网络是否完好