zoukankan      html  css  js  c++  java
  • Docker Kubernetes 容器更新与回滚

    Docker Kubernetes 容器更新与回滚

    环境:

    • 系统:Centos 7.4 x64
    • Docker版本:18.09.0
    • Kubernetes版本:v1.8
    • 管理节点:192.168.1.79
    • 工作节点:192.168.1.78
    • 工作节点:192.168.1.77

    创建环境:

    • 1、Deployment名称:nginx-deployment
    • 2、pods副本数为:3 
    • 3、image镜像:nginx1.9

    更新升级

    方案一:管理节点:滚动升级镜像。

    kubectl set image deployment nginx-deployment nginx=nginx:1.11
    kubectl set image 资源类型/资源名称 容器名称=镜像版本
    命令注解

    方案二:管理节点:修改原yaml配置文件重新加载完成滚动升级

    kubectl apply -f nginx-deployment.yaml

    管理节点:查看升级情况

    命令:kubectl describe deployment nginx-deployment
    
    # 镜像已更新
        Image:        nginx:1.11
      Type    Reason             Age   From                   Message
      ----    ------             ----  ----                   -------
    # 扩容版本
      Normal  ScalingReplicaSet  24m   deployment-controller  Scaled up replica set nginx-deployment-845cfc7fb9 to 3
      Normal  ScalingReplicaSet  49s   deployment-controller  Scaled up replica set nginx-deployment-7ff5df4cfb to 1
    # 缩容版本
      Normal  ScalingReplicaSet  34s   deployment-controller  Scaled down replica set nginx-deployment-845cfc7fb9 to 2
    # 扩容版本
      Normal  ScalingReplicaSet  34s   deployment-controller  Scaled up replica set nginx-deployment-7ff5df4cfb to 2
    # 缩容版本
      Normal  ScalingReplicaSet  18s   deployment-controller  Scaled down replica set nginx-deployment-845cfc7fb9 to 1
    # 扩容版本
      Normal  ScalingReplicaSet  18s   deployment-controller  Scaled up replica set nginx-deployment-7ff5df4cfb to 3
    # 缩容版本
      Normal  ScalingReplicaSet  15s   deployment-controller  Scaled down replica set nginx-deployment-845cfc7fb9 to 0
    查看deployment镜像升级描述信息
    命令:kubectl rollout status deployment/nginx-deployment
    Waiting for rollout to finish: 1 out of 3 new replicas have been updated...
    Waiting for rollout to finish: 1 out of 3 new replicas have been updated...
    Waiting for rollout to finish: 1 out of 3 new replicas have been updated...
    Waiting for rollout to finish: 2 out of 3 new replicas have been updated...
    Waiting for rollout to finish: 2 out of 3 new replicas have been updated...
    Waiting for rollout to finish: 2 out of 3 new replicas have been updated...
    Waiting for rollout to finish: 1 old replicas are pending termination...
    Waiting for rollout to finish: 1 old replicas are pending termination...
    deployment "nginx-deployment" successfully rolled out
    实时观察发布状态:
    命令:kubectl rollout history deployment/nginx-deployment
    deployments "nginx-deployment"
    REVISION  CHANGE-CAUSE
    1         <none>
    2         <none>
    查看deployment历史修订版本
    命令:kubectl rollout history deployment/nginx-deployment --revision=1
    
    deployments "nginx-deployment" with revision #1
    Pod Template:
      Labels:    app=nginx
        pod-template-hash=4017973965
      Containers:
       nginx:
        Image:    nginx:1.10
        Port:    80/TCP
        Environment:    <none>
        Mounts:    <none>
      Volumes:    <none>
    查看指定历史修订版本

    版本回滚

    管理节点:回滚到上一个版本

    kubectl rollout undo deployment nginx-deployment
    kubectl rollout undo 资源类型 资源名称
    命令注解

    管理节点:指定版本回滚

    kubectl rollout undo deployment/nginx-deployment --to-revision=3
    kubectl rollout undo 资源类型 资源名称 --to-revision=版本号
    
    注:kubectl rollout history 资源类型 资源名称 查看的版本号。
    命令注解

    管理节点:查看回滚情况

    命令:kubectl rollout history deployment/nginx-deployment
    
    deployments "nginx-deployment"
    REVISION  CHANGE-CAUSE
    1         <none>
    2         <none>
    4         <none>
    5         <none>
    注:将还原版本覆盖,并生成新的版本号。
    查看deployment历史修订版本
  • 相关阅读:
    一只小小麻雀——基于语法分析工具Gold开发的加减法解释器
    儿子和女儿——解释器和编译器的区别与联系
    商用密码企业调研(必做)
    create dict in python
    sequence in python
    Cpp pointers
    sorted: list sort in python
    the array.length() of C++
    string of Cpp
    srandom and random
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10011412.html
Copyright © 2011-2022 走看看