1.创建deployment pod

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

准备svc文件

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: nginxsvc
  5. spec:
  6. type: NodePort
  7. ports:
  8. - port:
  9. nodePort:
  10. selector:
  11. run: mynginx #修改为需要关联pod的lable参数,'kubectl describe deploy/mynginx'查看

创建nginx-svc

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

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

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

3.回滚升级

  1. kubectl rollout history deploy/mynginx  #查看操作历史
  1. [root@master01 ~]# kubectl rollout history deploy/mynginx
  2. deployments "mynginx"
  3. REVISION CHANGE-CAUSE
  4. kubectl run mynginx --image=docker.io/nginx:1.13 --replicas= --record
  5. kubectl set image deploy/mynginx mynginx=docker.io/nginx:1.15
  1. kubectl rollout undo deploy/mynginx --to-revision=1  #回滚
  1. [root@master01 ~]# kubectl rollout undo deploy/mynginx --to-revision=
  2. deployment "mynginx" rolled back
  3. [root@master01 ~]# kubectl get all -o wide
  4. NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
  5. deploy/mynginx 39m
  6.  
  7. NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
  8. svc/kubernetes 10.254.0.1 <none> /TCP 1d <none>
  9. svc/nginxsvc 10.254.198.39 <nodes> :/TCP 35m run=mynginx
  10.  
  11. NAME DESIRED CURRENT READY AGE CONTAINER(S) IMAGE(S) SELECTOR
  12. rs/mynginx- 39m mynginx docker.io/nginx:1.13 pod-template-hash=,run=mynginx
  13. rs/mynginx- 6m mynginx docker.io/nginx:1.15 pod-template-hash=,run=mynginx
  14.  
  15. NAME READY STATUS RESTARTS AGE IP NODE
  16. po/mynginx--4z1f5 / Running 51s 172.16.43.3 192.168.29.203
  17. po/mynginx--f1qzz / Running 52s 172.16.22.4 192.168.29.202
  18. po/mynginx--ks19b / Running 52s 172.16.22.3 192.168.29.202
  19. po/mynginx--xqxj6 / Running 50s 172.16.43.6 192.168.29.203
  1. [root@master01 ~]# kubectl rollout history deploy/mynginx
  2. deployments "mynginx"
  3. REVISION CHANGE-CAUSE
  4. kubectl set image deploy/mynginx mynginx=docker.io/nginx:1.15
  5. 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. Process 'command 'D:\jdk8\jdk\bin\java.exe'' finished with non-zero exit value 2

    转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10539006.html 捣鼓了好久,现在已经不想说话,为何会出现这个问题,Process 'comman ...

  2. Flutter 即学即用系列博客——02 一个纯 Flutter Demo 说明

    前言 上一篇文章我们搭建好了 Flutter 的开发环境. Flutter 即学即用--01 环境搭建 这一篇我们通过 Flutter 的一个 Demo 来了解下 Flutter. 开发系统:MAC ...

  3. svn 迁移至git操作手册

    svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...

  4. python全栈目录

    Python Python开发[第一篇]:初识 Python开发[第二篇]:基本数据类型 Python开发[第三篇]:函数 Python开发[第四篇]:杂货铺 Python开发[第五篇]:模块 Pyt ...

  5. linux 进程概念

    1,pcb:进程控制块结构体:/usr/src/linux-headers-4.15.0-29/include/linux/sched.h 进程id:系统中每个进程有唯一的id,在c语言中用pid_t ...

  6. 如何在WSL下使用VS Code

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.本有由葡萄城技术团队翻译并整理 自微软开始宣布拥抱开源以来,我认为微软发布的最棒的两大功能是:Visual S ...

  7. Chrome内核浏览器打开网页报 错误代码: ERR_TIMED_OUT

    升级win10之后如果出现chrome内核的浏览器网页总是打不开 打开很慢  而ie和edge是可以正常访问的 用这个方法可以  我弄了几天终于 搞好了我直接转载过来了近期,工程师收到大量反馈360浏 ...

  8. Capacitor 新一代混合应用“神器” 会代替Cordova吗??

    1.介绍or畅想 Capacitor是由ionic团队最新开发维护的一个跨平台的应用程序容器,可以轻松构建在iOS,Android,Electron 和 Web 上本机运行的Web应用程序.我们称这些 ...

  9. RecyclerFullyManagerDemo【ScrollView里嵌套Recycleview的自适应高度功能】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 对于Recyclerview自己的LinearLayoutManager和GridLayoutManager,在版本23.2.0之后 ...

  10. 带着新人简单看看servlet到springmvc

    好久都没有写博客了,不是因为自己懒了,而是总感觉自己知道的只是太少了,每次想写博客的时候都不知道怎么下手,不过最近看到一篇博客说的是springmvc,给了我比较大的兴趣,感觉一下子对整个spring ...