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 #
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历史修订版本
Docker Kubernetes 容器更新与回滚的更多相关文章
- Kubernetes:更新与回滚
Blog:博客园 个人 除了创建,Deployment 提供的另一个重要的功能就是更新应用,这是一个比创建复杂很多的过程.想象一下在日常交付中,在线升级是一个很常见的需求,同时应该尽量保证不能因为升级 ...
- Docker Swarm(八)滚动更新、回滚服务
滚动更新.回滚服务 默认情况下, swarm一次只更新一个副本,并且两个副本之间没有等待时间,我们可以通过: # 定义并行更新的副本数量--update-parallelism# 定义滚动更新的时间间 ...
- Docker Swarm 服务版本更新与回滚
Docker Swarm 服务版本更新 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理节点:192.168.1.79 工作节点:192.168.1.78 工作 ...
- Docker Kubernetes 容器扩容与缩容
Docker Kubernetes 容器扩容与缩容 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...
- Docker Kubernetes 容器重启策略
Docker Kubernetes 容器重启策略 当容器被创建时,容器会根据重启策略来进行容器重启. 支持三种策略: Always:当容器终止退出后,总是重启容器,默认策略. OnFailure:当容 ...
- deployment控制pod进行滚动更新以及回滚
更新pod镜像两种方式: 方式一:kubectl set image deployment/${deployment name} ${container name}=${image} 例: kubec ...
- kubernetes deployment升级和回滚
a.创建deployment pod kubectl run mynginx --image=docker.io/nginx: --record 准备svc文件 apiVersion: v1 kind ...
- 【linux】【jenkins】jenkins构建、mvn或者npm打包、docker运行、失败自动回滚脚本
小白对jenkins运维的使用有点简单的想法,这里开个记录贴记录下. 由于未找到jenkins构建失败后执行其他脚本的插件,也暂时没有使用其他运维工具.所以想自己写一个shell脚本,一是方便其他人使 ...
- linux运维、架构之路-K8s滚动更新及回滚
一.滚动更新 应用程序一次只更新一小部分副本,更新成功后,再更新更多的副本,最终完成所有副本的更新. 滚动更新的优点:零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 1. ...
随机推荐
- VS Code打开使用IDEA搭建的Spring Boot项目运行提示"snakeyaml was not found on the classpath"错误
今天用VS Code打开之前基于IDEA搭建并开发的Spring Boot项目,启动调试后出现如下错误: 17:43:05.214 [restartedMain] ERROR org.springfr ...
- [VS SVN] VS的SVN插件AnkhSvn
VS的SVN插件AnkhSvn 修改VS配置 将解决方案或项目加入SVN管理
- oracle ORA-01991错误--重建密码文件问题
问题现象描述: 统计服务器测试没问题,刚好上次配置系统的时候有点问题,故重装一次,配置好安全策略(最近在研究如何新配置一台服务器的时候,第一时间配置好相关的安全设置,有空再写下来). 为了省事,直接冷 ...
- 手把手JDK环境变量配置
分为下载,配置,验证三个步骤解释如何进行JDK环境变量配置. 步骤一: 首先查看配置成功后的效果: tip:点击win——>运行(或者使用win+r,或者shift+鼠标右键打开powershe ...
- Python学习之旅(十九)
Python基础知识(18):面向对象高级编程(Ⅰ) 使用__slots__:限制实例的属性,只允许实例对类添加某些属性 (1)实例可以随意添加属性 (2)某个实例绑定的方法对另一个实例不起作用 (3 ...
- CKFinker 2.5.0.1 去demo标示
演示版会在文件浏览界面显示演示消息,分别是左下角(文件夹框下面)和列表框上部 都是通过修改ckfinder.js来实现 右下角标示: 查找: {if(C.getItem(E).rd("\x7 ...
- React中redux表单编辑
reduxForm中反写数据在输入框中,数据是从别的模块拉取 // 编辑应用表单 class EditCode extends React.Component { constructor(props) ...
- Web开发——HTML基础(图像、音频和视频内容)
参考: 参考:HTML中的图像 参考:视频和音频内容 目录: 1.HTML中的图像 1.1 我们如何在网页上放置图像? (1)替代文字(alt) (2)宽度和高度 (3)图片标题 1.2 用图形和图形 ...
- [AI][tensorflow][keras] archlinux下 tersorflow and keras 安装
tensorflow TensorFlow is an open-source machine learning library for research and production. https: ...
- JAVA基础——集合——HashMap
HashMap集合: 常用方法(JDK1.8): 从此映射中移除所有映射关系(元素): public void clear() 返回此 HashMap 实例的浅表副本:并不复制键和值本身: p ...