应用升级

Kubectl set image --help 有案例指定新版本

[root@k8s-master ~]# kubectl set image deployment/nginx nginx=nginx:1.11

升级之后他会将所有版本进行替换,用describe来查看版本

[root@k8s-master ~]# kubectl get pods

NAME                       READY     STATUS    RESTARTS   AGE

busybox-5d4f595646-dzjv4   1/1       Running   0          2d

nginx-76c4c6d6d8-5w825     1/1       Running   0          2m

nginx-76c4c6d6d8-bh2sm     1/1       Running   0          2m

nginx-76c4c6d6d8-cwhw5     1/1       Running   0          1m

用describe来查看版本,看到版本已经升级为1.11版本了,另外下面还有他的输出信息

[root@k8s-master ~]# kubectl describe po/nginx-76c4c6d6d8-cwhw5

nginx:

Container ID:   docker://ca046dd27d86bc10f330131be7ba5b91b14cb555c5d9677bb23f481e4e69aa67

Image:          nginx:1.11

第二种修改应用版本===可以使用edit

直接进行编辑就行

[root@k8s-master ~]# kubectl edit deploy/nginx

找到image直接修改进行保存,升级之后他会将所有版本进行替换,用describe来查看版本

等启动之后查看pod重启新的镜像已经运行了

[root@k8s-master ~]# kubectl get pods

NAME                       READY     STATUS    RESTARTS   AGE

busybox-5d4f595646-dzjv4   1/1       Running   0          2d

nginx-7454cd89d8-fpncj     1/1       Running   0          5m

nginx-7454cd89d8-gdz8c     1/1       Running   0          4m

nginx-7454cd89d8-tlngj     1/1       Running   0          5m

用describe查看Pod镜像信息

[root@k8s-master ~]# kubectl describe po/nginx-7454cd89d8-tlngj

nginx:

Container ID:   docker://6768df2391defe44097e3ce2a857529ec614d49962181c1cf541c1bbc6dbce08

Image:          nginx:1.15

用node端直接访问查看版本

[root@k8s-node1 ~]# curl -I 10.10.10.173:88

HTTP/1.1 200 OK

Server: nginx/1.15.12

Date: Mon, 08 Jul 2019 04:23:42 GMT

查看版本升级信息

[root@k8s-master ~]# kubectl rollout history deploy/nginx

deployments "nginx"

REVISION  CHANGE-CAUSE

1         <none>

2         <none>

3         <none>

记录版本信息状态,便于回滚

[root@k8s-master ~]# kubectl set image deployment/nginx nginx=nginx:1.16 --record

[root@k8s-master ~]# kubectl rollout history deploy/nginx

deployments "nginx"

REVISION  CHANGE-CAUSE

1         <none>

2         <none>

3         <none>

4         kubectl set image deployment/nginx nginx=nginx:1.16 --record=true

进行回滚用rollout undo,默认恢复到上一个版本也就是1.15

[root@k8s-master ~]# kubectl rollout undo deploy/nginx

默认少一个3,也就是回到上次第三次版本了

[root@k8s-master ~]# kubectl rollout history deploy/nginx

deployments "nginx"

REVISION  CHANGE-CAUSE

1         <none>

2         <none>

4         kubectl set image deployment/nginx nginx=nginx:1.16 --record=true

5         <none>

[root@k8s-master ~]# kubectl describe po/nginx-7454cd89d8-txjpm

Containers:

nginx:

Container ID:   docker://f17b88c301d61b8c75a46cba84d97c285f5d61886c081b3cfc9c0668e5cbf4e3

Image:          nginx:1.15

业务量突然增加,我们需要增加副本

[root@k8s-master ~]# kubectl scale deploy/nginx --replicas=10

deployment "nginx" scaled

[root@k8s-master ~]# kubectl get pod

NAME                       READY     STATUS    RESTARTS   AGE

busybox-5d4f595646-dzjv4   1/1       Running   0          2d

nginx-7454cd89d8-4cct8     1/1       Running   0          19s

nginx-7454cd89d8-75tvg     1/1       Running   0          7m

nginx-7454cd89d8-7v5qp     1/1       Running   0          1m

nginx-7454cd89d8-dtsgq     1/1       Running   0          19s

nginx-7454cd89d8-hjcpw     1/1       Running   0          7m

nginx-7454cd89d8-mhhww     1/1       Running   0          19s

nginx-7454cd89d8-txjpm     1/1       Running   0          7m

nginx-7454cd89d8-vkmjn     1/1       Running   0          19s

nginx-7454cd89d8-z8dbn     1/1       Running   0          19s

nginx-7454cd89d8-zn8pm     1/1       Running   0          1m

业务量下降我们进行缩容

[root@k8s-master ~]# kubectl scale deploy/nginx --replicas=5

[root@k8s-master ~]# kubectl get pod

NAME                       READY     STATUS    RESTARTS   AGE

busybox-5d4f595646-dzjv4   1/1       Running   0          2d

nginx-7454cd89d8-75tvg     1/1       Running   0          8m

nginx-7454cd89d8-7v5qp     1/1       Running   0          3m

nginx-7454cd89d8-hjcpw     1/1       Running   0          8m

nginx-7454cd89d8-txjpm     1/1       Running   0          8m

nginx-7454cd89d8-zn8pm     1/1       Running   0          3m

要是不需要这些资源或者换项目了

直接用delete=======删除deploy还有service

[root@k8s-master ~]# kubectl delete deploy/nginx

deployment "nginx" deleted

[root@k8s-master ~]# kubectl delete svc/nginx-service

查看资源已经删除

[root@k8s-master ~]# kubectl get all

k8s用kubectl管理应用升级,服务发布与回滚,扩缩容的更多相关文章

  1. k8s 集群管理和微服务 适合做啥

    k8s 集群管理和微服务 适合做啥 都知道k8s是集群 适合微服务 有很多教程 但你可以先了解他能干啥 traefix 是负载均衡工具 k8s 适合部署无状态依赖的微服务 可以按需求开启多个微服务 管 ...

  2. 通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容

    上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样 ...

  3. Docker Swarm 服务版本更新与回滚

    Docker Swarm 服务版本更新 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理节点:192.168.1.79 工作节点:192.168.1.78 工作 ...

  4. ansible实现发布、回滚功能

    ansible的两篇博客,本来是打算合二为一的,发现只用一篇写,嗯,好鬼长.... 一向秉承简单为美的我于是忍痛割爱,一分为二了 ansible实现升级发布.回滚功能 1.应用场景 在实际生产环境中, ...

  5. 构建Docker平台【第四篇】创建服务及扩缩容等操作

    第一步:创建服务 1. 配置 nginx 的 yaml 文件 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-ng ...

  6. 2、jenkins+svn自动发布和回滚

    Jenkins配置回滚思路: 目前只能实现使用salt来管控配置文件的管控,配置文件的版本回滚需要后续定制化开发,或者进行格外其他的管理操作.后续实现 以下配置可以为每个项目备份构建文件到本地指定路径 ...

  7. Jenkins实用发布与回滚PHP项目生产实践

    目录 1.概述 2.项目实践 2.1.环境说明 2.2.Jenkins配置 2.2.1.修改Jenkins的运行用户 2.2.2.配置Jenkins用户和Gitlab的ssh-key 2.2.3.Je ...

  8. Jenkins 搭建企业实战案例 (发布与回滚)

    让我们的代码部署变得easy,不再难,Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins非常易于安装和配置,简单易用 ...

  9. Docker Swarm(七)Scale 扩(缩)容服务

    扩(缩)容服务 扩容服务 Service还提供了复制(类似kubernetes里的副本)功能.可以通过 docker service scale 命令来设置服务中容器的副本数: docker serv ...

随机推荐

  1. GC agent的安装和卸载

    一.GC agent安装 下面介绍GC agent的push和pull两种安装方法 1.push(推送)安装GC agent方法 1).打开EMGC home page:https://even.or ...

  2. 【开源】基于 SpringBoot 的 web kettle 在线采集平台

    kettle-scheduler-boot 开发计划 序号 项目 状态 优先级 1 在线管理,编辑kettle脚本 紧急 2 通过源码实现集群,多线程执行任务 紧急 2 重构jpa部分,改为mybat ...

  3. 基于 WebRTC 的 RTSP 视频实时预览

    简介 背景 由于项目需要,需要使用摄像头预览功能,设备型号为海康威视.目前已存在的基于 FFmpeg 的方案延迟都太高,所以项目最终选择基于此方案. 方案 方案选用为基于 WebRTC 的视频即时通讯 ...

  4. python爬虫爬取安居客并进行简单数据分析

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 爬取过程一.指定爬取数据二.设置请求头防止反爬三.分析页面并且与网页源码进行比对四.分析页面整理数据 ...

  5. 【python爬虫】一个简单的爬取百家号文章的小爬虫

    需求 用"老龄智能"在百度百家号中搜索文章,爬取文章内容和相关信息. 观察网页 红色框框的地方可以选择资讯来源,我这里选择的是百家号,因为百家号聚合了来自多个平台的新闻报道.首先看 ...

  6. C#中烦人的Null值判断竟然这样就被消灭了

    作者:依乐祝 首发自:DotNetCore实战 公众号 https://www.cnblogs.com/yilezhu/p/14177595.html Null值检查应该算是开发中最常见且烦人的工作了 ...

  7. java中io流实现文件上传下载

    新建io.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" page ...

  8. List<bean> 转换成List<Map>

    //将listmap转换成list实体类 List<OaAttachment>list=new ArrayList<OaAttachment>(); if(Func.isNot ...

  9. 两个字搞定DDD(领域驱动设计),DDD脱水版(一)修订版

    摘自微信公众号丁辉的软件架构说

  10. devops持续集成

    目录 Devops 版本控制系统 Git安装 Git使用 git四种状态 git基础命令 git分支 git合并冲突 git标签 git命令总结 Github使用 创建仓库 HTTP协议 SSH协议 ...