应用升级

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. NMO not setuid-root (Unix-only)

    EM操作Reorganize Objects时提示的错误 错误提示: NMO not setuid-root (Unix-only) 解决方法: 1.停止EM emctl stop dbconsole ...

  2. 【Harbor学习笔记】-教你快速搭建Docker私有仓库

    目录 架构图 Harbor依赖的外部组件 Harbor自有组件 核心组件 安装 1. 下载离线安装包 2. 配置 harbor.cfg (harbor.yml) 3. 启动 Harbor 安装配置问题 ...

  3. PHP字符串你不知道的事

    PHP常见的定义字符串的方式有那些? 1.单引号 在单引号中,任何特殊字符都会按原样输出[除\.\'将会被转义输出],不是什么都不解析的,这是很多人的误解 echo 'this is a var!'. ...

  4. 09-flask-蓝图

    蓝图 作用:分离前后台 代码截图 运行截图 代码 main.py from flask import Flask from view.admin import admin_blu app = Flas ...

  5. Web服务器-正则表达式-小例子(3.1.2)

    @ 目录 1.邮箱 2.手机号码 关于作者 1.邮箱 import re def main(): email = input("请输入一个邮件地址:") ret = re.matc ...

  6. 利用302绕过http协议限制

    360某处ssrf漏洞可探测内网信息(附内网6379探测脚本) http://xss.one/bug_detail.php?wybug_id=wooyun-2016-0229611

  7. python一键搭建ftp服务

    from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyf ...

  8. Angular实战之使用NG-ZORRO创建一个企业级中后台框架

    前言: 在之前的一篇文章已经介绍过了,公司正在使用NG-ZORRO组件库开发后台应用,并且详细的介绍了Angular开发环境的搭建和项目的创建.这篇文章就是为了让大家熟悉了解我们该如何在Angular ...

  9. 【剑指offer】03 从尾到头打印链表

    题目地址:从尾到头打印链表 题目描述                                    输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 时间限制:C/C++ 1秒, ...

  10. 同一个UITextField 根据不同状态下弹出不同类型键盘遇到的坑

    一,需求:有多个选项按钮,点击不同的按钮,textfield内容需求不同弹出对应需求的键盘类型. 二,问题:1.刚开始在按钮状态改变后设置 self.textField.keyboardType属性完 ...