1.创建deployment pod

kubectl run mynginx --image=docker.io/nginx:1.13 --replicas= --record

准备svc文件

apiVersion: v1
kind: Service
metadata:
name: nginxsvc
spec:
type: NodePort
ports:
- port:
nodePort:
selector:
run: mynginx #修改为需要关联pod的lable参数,'kubectl describe deploy/mynginx'查看

创建nginx-svc

kubectl create -f nginx-svc.yaml
[root@master01 ~]# kubectl get all -o wide
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/mynginx 14m NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
svc/kubernetes 10.254.0.1 <none> /TCP 1d <none>
svc/nginxsvc 10.254.198.39 <nodes> :/TCP 9m run=mynginx NAME DESIRED CURRENT READY AGE CONTAINER(S) IMAGE(S) SELECTOR
rs/mynginx- 14m mynginx docker.io/nginx:1.13 pod-template-hash=,run=mynginx NAME READY STATUS RESTARTS AGE IP NODE
po/mynginx--0q0cg / Running 4m 172.16.43.4 192.168.29.203
po/mynginx--7g99g / Running 4m 172.16.22.3 192.168.29.202
po/mynginx--bzjn2 / Running 4m 172.16.43.3 192.168.29.203
po/mynginx--g9dd1 / Running 4m 172.16.22.4 192.168.29.202

2.升级mynginx,nginx:1.13 > nginx:1.15

kubectl set image deploy/mynginx mynginx=docker.io/nginx:1.15  #升级
[root@master01 ~]# kubectl get all -o wide
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/mynginx 35m NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
svc/kubernetes 10.254.0.1 <none> /TCP 1d <none>
svc/nginxsvc 10.254.198.39 <nodes> :/TCP 30m run=mynginx NAME DESIRED CURRENT READY AGE CONTAINER(S) IMAGE(S) SELECTOR
rs/mynginx- 35m mynginx docker.io/nginx:1.13 pod-template-hash=,run=mynginx
rs/mynginx- 2m mynginx docker.io/nginx:1.15 pod-template-hash=,run=mynginx NAME READY STATUS RESTARTS AGE IP NODE
po/mynginx--7h3hc / Running 2m 172.16.43.5 192.168.29.203
po/mynginx--cp080 / Running 2m 172.16.22.2 192.168.29.202
po/mynginx--k6kkb / Running 2m 172.16.43.4 192.168.29.203
po/mynginx--xg6cr / Running 2m 172.16.43.3 192.168.29.203

3.回滚升级

kubectl rollout history deploy/mynginx  #查看操作历史
[root@master01 ~]# kubectl rollout history deploy/mynginx
deployments "mynginx"
REVISION CHANGE-CAUSE
kubectl run mynginx --image=docker.io/nginx:1.13 --replicas= --record
kubectl set image deploy/mynginx mynginx=docker.io/nginx:1.15
kubectl rollout undo deploy/mynginx --to-revision=1  #回滚
[root@master01 ~]# kubectl rollout undo deploy/mynginx --to-revision=
deployment "mynginx" rolled back
[root@master01 ~]# kubectl get all -o wide
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/mynginx 39m NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
svc/kubernetes 10.254.0.1 <none> /TCP 1d <none>
svc/nginxsvc 10.254.198.39 <nodes> :/TCP 35m run=mynginx NAME DESIRED CURRENT READY AGE CONTAINER(S) IMAGE(S) SELECTOR
rs/mynginx- 39m mynginx docker.io/nginx:1.13 pod-template-hash=,run=mynginx
rs/mynginx- 6m mynginx docker.io/nginx:1.15 pod-template-hash=,run=mynginx NAME READY STATUS RESTARTS AGE IP NODE
po/mynginx--4z1f5 / Running 51s 172.16.43.3 192.168.29.203
po/mynginx--f1qzz / Running 52s 172.16.22.4 192.168.29.202
po/mynginx--ks19b / Running 52s 172.16.22.3 192.168.29.202
po/mynginx--xqxj6 / Running 50s 172.16.43.6 192.168.29.203
[root@master01 ~]# kubectl rollout history deploy/mynginx
deployments "mynginx"
REVISION CHANGE-CAUSE
kubectl set image deploy/mynginx mynginx=docker.io/nginx:1.15
kubectl run mynginx --image=docker.io/nginx:1.13 --replicas= --record

kubernetes deployment升级和回滚的更多相关文章

  1. Docker Kubernetes 容器更新与回滚

    Docker Kubernetes 容器更新与回滚 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  2. 022.掌握Pod-Pod升级和回滚

    一 deploymentPod升级和回滚 1.1 deployment升级 若Pod是通过Deployment创建的,可以在运行时修改Deployment的Pod定义(spec.template)或镜 ...

  3. Hadoop HDFS概念学习系列之HDFS升级和回滚机制(十二)

    不多说,直接上干货! HDFS升级和回滚机制 作为一个大型的分布式系统,Hadoop内部实现了一套升级机制,当在一个集群上升级Hadoop时,像其他的软件升级一样,可能会有新的bug或一些会影响现有应 ...

  4. 浅入Kubernetes(12):Deployment 的升级、回滚

    目录 更新 上线 会滚 缩放 Deployment 直接设置 Pod 水平自动缩放 比例缩放 暂停 Deployment 上线 本篇内容讨论 Pod 的更新和回滚,内容不多. 更新 打开 https: ...

  5. kubernetes Pod的升级与回滚

    一:Deployment的升级 1.通过kubectl set image命令为Deployment设置新的镜像名称kubectl set image deployment/nginx-deploym ...

  6. Kubernetes:Pod 升级、回滚

    本篇主要讨论如何实现滚动更新和回滚,任意更换版本并且回滚以前的版本(版本更新),而下一章会讨论到 Pod 缩放,根据机器资源自动拓展和收缩应用(自动扩容实例). 本文为作者的 Kubernetes 系 ...

  7. Docker & Kubenetes 系列四:集群,扩容,升级,回滚

    本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kub ...

  8. k8s学习笔记(3)- kubectl高可用部署,扩容,升级,回滚springboot应用

    前言:上一篇通过rancher管理k8s,部署服务应用扩容,高可用,本篇介绍kubectl命令行部署高可用集群节点,测试升级.扩容等 1.测试环境:3节点k3s,使用其中2节点(ubuntunode1 ...

  9. 9.1 k8s pod版本更新流程及命令行实现升级与回滚

    1.创建 Deployment root@k8-deploy:~/k8s-yaml/controllers/deployments# vim nginx-deployment.yaml apiVers ...

随机推荐

  1. GDAL读取的坐标起点在像素左上角还是像素中心?

    目录 1. 问题 2. 结论 3. 例外 1. 问题 笔者在处理地理栅格数据的时候,总是会发生偏差半个像素的问题. 比如说通过ArcMap打开一张.tif,查看其地理信息:同时用记事本打开.tfw,比 ...

  2. 多功能设备mfd驱动

    一.概述 mfd是Multifunction device的简称,即多功能设备,是许多有共性的设备的集合,mfd由核心层(core)以及其下的"子设备"组成.从下文将会看到,mfd ...

  3. Windows Server 2016-PS筛选导出用户邮箱属性包含某字段列表

    生产环境中我们往往会遇到以多个邮箱别名结尾的情况,如何快速导出当前域用户邮箱以某字段或后缀结尾的用户列表信息变得尤为重要,本例简单汇总下如何通过Powershell快速筛选出当前邮箱信息包含azure ...

  4. spring boot 2.0 集成 shiro 和 pac4j cas单点登录

    新开的项目,果断使用  spring boot  最新版本  2.0.3 ,免得后期升级坑太多,前期把雷先排了. 由于对 shiro 比较熟,故使用 shiro 来做权限控制.同时已经存在了 cas  ...

  5. ES6 模块化笔记

    ES6 模块的设计思想,是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量. ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入. // ...

  6. [Swift]LeetCode1034.边框着色 | Coloring A Border

    Given a 2-dimensional grid of integers, each value in the grid represents the color of the grid squa ...

  7. MySQL学习(四)Join 等开发常用的操作 --- 2019年2月

    1.查数据太多不会把内存用光 InnoDB 的数据是保存在主键索引上,然后索引树分割保存在数据页上,数据页存在内存中/磁盘.change buffer 就是先把修改操作记录,然后读数据的时候,内存没有 ...

  8. Hadoop系列005-Hadoop运行模式(下)

    本人微信公众号,欢迎扫码关注! Hadoop运行模式(下) 2.3.完全分布式部署Hadoop 1)分析: 1)准备3台客户机(关闭防火墙.静态ip.主机名称) 2)安装jdk 3)配置环境变量 4) ...

  9. mysql的学习笔记(八)

    1.存储引擎(表类型) mysql将数据以不同的技术存储在文件(内存)中,这种技术称为存储引擎.每一种存储引擎使用不同的存储机制,索引技巧,锁定水平,提供广泛且不同的功能. mysql支持的存储引擎 ...

  10. 【朝花夕拾】四大组件之(一)Broadcast篇

    前言 笔者最近在探究ANR及源码的过程中,发现对Broadcast的一些应用层面上的知识有的感觉比较生疏,有的记忆不准确,有的认识不完整.所谓“基础不牢,地动山摇”,于是就梳理了一下Broadcast ...