1. deployment发布失败回滚
-
查看历史发布版本
kubectl rollout history deployment/web
-
回滚上一个版本
kubectl rollout undo deployment/web
-
回滚历史指定版本
kubectl rollout undo deployment/web --to-revision=2
-
注:回滚是重新部署某一次部署时的状态,即当时版本所有配置
-
示例:yaml配置文件
[root@k8s-master deployment]# cat web.yaml apiVersion: apps/v1 kind: Deployment Metadata: name: web namespace: default annotations: # 记录回滚参数 kubernetes.io/change-cause: "web.v1-Nginx-1.19" #记录到revision中的内容,记录版本号 spec: replicas: 9 # Pod副本预期数量 revisionHistoryLimit: 10 # RS历史版本保存数量 selector: matchLabels: app: web strategy: rollingUpdate: maxSurge: 25% # 滚动更新过程最大pod副本数 maxUnavailable: 25% # 滚动更新过程中最大不可用pod副本数, type: RollingUpdate template: Metadata: labels: app: web # Pod副本的标签 spec: containers: - name: web image: Nginx:1.19 readinessProbe: # 健康检查,如果失败,将杀死容器,来重启 httpGet: port: 80 path: /index.html initialDelaySeconds: 10 #启动容器后多少秒健康检查 periodSeconds: 10 #以后间隔多少秒检查一次 livenessProbe: # 存活检查,失败就会剔除 service httpGet: port: 80 path: /index.html
-
查看history历史记录
[root@k8s-master deployment]# kubectl rollout history deployment web deployment.apps/web REVISION CHANGE-CAUSE 1 web.v1-Nginx-1.16 2 web.v1-Nginx-1.18 3 web.v1-Nginx-1.19
2. 案例操作
-
查询发布历史版本
[root@k8s-master deployment]# kubectl rollout history deployment web deployment.apps/web REVISION CHANGE-CAUSE 1 web.v1-Nginx-1.16 2 web.v1-Nginx-1.18 3 web.v1-Nginx-1.19
-
回滚到上一个版本
[root@k8s-master deployment]# curl -I http://192.168.0.202:30082 HTTP/1.1 200 OK Server: Nginx/1.19.5 Date: Tue, 01 Dec 2020 14:20:33 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 24 Nov 2020 13:02:03 GMT Connection: keep-alive ETag: "5fbd044b-264" Accept-Ranges: bytes # 回滚到上一个版本 [root@k8s-master deployment]# kubectl rollout undo deployment web deployment.apps/web rolled back [root@k8s-master deployment]# curl -I http://192.168.0.202:30082 HTTP/1.1 200 OK Server: Nginx/1.18.0 Date: Tue, 01 Dec 2020 14:21:39 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT Connection: keep-alive ETag: "5e9efe7d-264" Accept-Ranges: bytes [root@k8s-master deployment]# kubectl rollout history deployment web deployment.apps/web REVISION CHANGE-CAUSE 1 web.v1-Nginx-1.16 3 web.v1-Nginx-1.19 4 web.v1-Nginx-1.18
-
回滚到指定版本
[root@k8s-master deployment]# kubectl rollout undo deployment web --to-revision=3 deployment.apps/web rolled back [root@k8s-master deployment]# curl -I http://192.168.0.202:30082 HTTP/1.1 200 OK Server: Nginx/1.19.5 Date: Tue, 01 Dec 2020 14:25:12 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 24 Nov 2020 13:02:03 GMT Connection: keep-alive ETag: "5fbd044b-264" Accept-Ranges: bytes [root@k8s-master deployment]# kubectl rollout history deployment web deployment.apps/web REVISION CHANGE-CAUSE 1 web.v1-Nginx-1.16 4 web.v1-Nginx-1.18 5 web.v1-Nginx-1.19
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。