zoukankan      html  css  js  c++  java
  • kubenetes 更新回滚

     以nginx镜像为例

    [root@k8s-master1 opt]# kubectl  get pod -o wide
    NAME                            READY   STATUS    RESTARTS   AGE     IP                NODE        NOMINATED NODE   READINESS GATES
    deploy-nginx-6d46d6548f-7qqcp   1/1     Running   0          3m10s   192.168.122.95    k8s-node4   <none>           <none>
    deploy-nginx-6d46d6548f-ct7f7   1/1     Running   0          3m10s   192.168.169.153   k8s-node2   <none>           <none>
    deploy-nginx-6d46d6548f-dv6mt   1/1     Running   0          3m7s    192.168.107.221   k8s-node3   <none>           <none>
    deploy-nginx-6d46d6548f-fpprd   1/1     Running   0          3m10s   192.168.36.156    k8s-node1   <none>           <none>
    deploy-nginx-6d46d6548f-gqvfz   1/1     Running   0          3m8s    192.168.122.96    k8s-node4   <none>           <none>
    deploy-nginx-6d46d6548f-pvmrr   1/1     Running   0          3m7s    192.168.169.154   k8s-node2   <none>           <none>

    1.更新 使用--record=true 记录更新内容 我们从nginx:1.14升级nginx:1.15再升级nginx:1.16

    [root@k8s-master1 opt]# kubectl  set image deployment/deploy-nginx nginx=nginx:1.14 --record=true
    [root@k8s-master1 opt]# kubectl  set image deployment/deploy-nginx nginx=nginx:1.15 --record=true
    deployment.apps/deploy-nginx image updated
    [root@k8s-master1 opt]# kubectl  set image deployment/deploy-nginx nginx=nginx:1.16 --record=true
    deployment.apps/deploy-nginx image updated
    [root@k8s-master1 opt]# 

    2.查看更新记录,进行回滚

    [root@k8s-master1 opt]# kubectl rollout history deployment/deploy-nginx
    deployment.apps/deploy-nginx 
    REVISION  CHANGE-CAUSE
    12        kubectl set image deployment/deploy-nginx nginx=nginx:1.14 --record=true
    13        kubectl set image deployment/deploy-nginx nginx=nginx:1.15 --record=true
    14        kubectl set image deployment/deploy-nginx nginx=nginx:1.16 --record=true

    3.指定回滚 --revision=12   

    [root@k8s-master1 opt]# kubectl  rollout undo deployment/deploy-nginx --to-revision=12 
    deployment.apps/deploy-nginx rolled back
    [root@k8s-master1 opt]# kubectl rollout history deployment/deploy-nginx
    deployment.apps/deploy-nginx 
    REVISION  CHANGE-CAUSE
    13        kubectl set image deployment/deploy-nginx nginx=nginx:1.15 --record=true
    14        kubectl set image deployment/deploy-nginx nginx=nginx:1.16 --record=true
    15        kubectl set image deployment/deploy-nginx nginx=nginx:1.14 --record=true

    4.回滚到上版本

    [root@k8s-master1 opt]# kubectl  rollout undo deployment/deploy-nginx
    deployment.apps/deploy-nginx rolled back
    [root@k8s-master1 opt]# kubectl rollout history deployment/deploy-nginx
    deployment.apps/deploy-nginx 
    REVISION  CHANGE-CAUSE
    13        kubectl set image deployment/deploy-nginx nginx=nginx:1.15 --record=true
    15        kubectl set image deployment/deploy-nginx nginx=nginx:1.14 --record=true
    16        kubectl set image deployment/deploy-nginx nginx=nginx:1.16 --record=true

     5.查看回滚状态

    [root@k8s-master1 ~]# kubectl  rollout status deployment/deploy-nginx
    Waiting for deployment "deploy-nginx" rollout to finish: 3 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 3 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 3 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 4 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 4 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 4 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 4 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 4 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 5 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 5 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 5 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 5 out of 6 new replicas have been updated...
    Waiting for deployment "deploy-nginx" rollout to finish: 2 old replicas are pending termination...
    Waiting for deployment "deploy-nginx" rollout to finish: 2 old replicas are pending termination...
    Waiting for deployment "deploy-nginx" rollout to finish: 2 old replicas are pending termination...
    Waiting for deployment "deploy-nginx" rollout to finish: 1 old replicas are pending termination...
    deployment "deploy-nginx" successfully rolled out
  • 相关阅读:
    诸神之眼-Nmap(精版,更新中。。。)
    workerman-chat聊天室
    Mysql记录事本
    网站标题、描述、关键词怎么设置?
    什么是谷歌SEO?
    图片加载之性能优化
    前端实现图片懒加载(lazyload)的两种方式
    HTML`CSS_网站页面不同浏览器兼容性问题解决
    从输入url到显示页面,都经历了什么
    什么是mvvm mvc是什么区别 原理
  • 原文地址:https://www.cnblogs.com/caonw/p/13409629.html
Copyright © 2011-2022 走看看