腾讯云容器服务的滚动升级使用简介

作者介绍:于广游,腾讯云后台开发工程师。欢迎加入腾讯云容器服务QQ交流群434653499。

1.什么是滚动升级

滚动升级是一种多副本服务的升级方式,其特点是能够保证升级过程中服务不中断,对外界无感知。其原理大致为循环的执行以下步奏直至所有容器都被更新。

  • 启动一个新的容器
  • 将LB绑定到新的容器上
  • 将老的容器从LB上解绑
  • 停止老的容器

2.使用说明

我们有以下两个镜像。

镜像hello_bye:hello启动的容器,对其80端口,'/'路径执行Get操作会返回: {"message":"Hello"}。

root@VM-0-86-ubuntu:/data# curl -k 'http://xxx.xxx.xxx.xxx'
{"message":"Hello"}

镜像hello_bye:bye启动的容器,对其80端口,'/'路径执行Get操作会返回: {"message":"Bye"}。

root@VM-0-86-ubuntu:/data# curl -k 'http://xxx.xxx.xxx.xxx'
{"message":"Bye"}

首先,我们使用hello_bye:hello镜像创建一个带有外网LB的服务,名为hellobye,点击“更新服务”按钮。

在弹出的更新服务页面中修改镜像版本为Bye。

![C:\Users\garyyu\AppData\Local\Temp{46ED776E-C9B7-4DB5-85F7-5C8180BE0BF3}.png][4]

点击开始更新前,在云主机上执行以下命令,其中xxx部分为hellobye服务外网LB的IP,并点击开始更新按钮。

#!/bin/sh
while true
do
curl -k 'http://xxx.xxx.xxx.xxx'
done

回到容器服务控制台,服务列表页,会看到hellobye状态变为更新中,此时点击查看进度按钮,在弹窗中可查看服务更新进度。

随着更新进度的变化,会看到刚才执行shell脚本的云主机上,返回值中{"message":"Bye"}的占比越来越大最终全部变为{"message":"Bye"}。

{"message":"Hello"}
{"message":"Hello"}
{"message":"Hello"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Hello"}
{"message":"Hello"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Hello"}
{"message":"Hello"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}
{"message":"Bye"}

3.暂停更新

在更新过程中,您随时可以点击暂停更新按钮来暂停滚动升级,此时服务状态会变为“暂停更新”,您也可以点击继续更新按钮来继续服务的更新。

4.回滚更新

在更新过程中,您也可以随时点击“回滚”按钮来终止本次更新并将已升级的容器恢复到原始版本。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JarvanMo的IT专栏

将旧项目迁移到AndroidStudio3.0

原来的项目用到了kotlin以及kapt,升级到了androidstudio 3.0报了上面的错误,需要在项目的gradle.properties中添加:

851
来自专栏黑白安全

Windows Java Usage Tracker本地提权漏洞分析(CVE-2018-3211)

近期,我们发现了一个Java Usage Tracker中的设计缺陷,可导致攻击者创建任意文件,注入指定参数,并实现本地权限提升。反之,该漏洞可以用于权限提升,...

512
来自专栏格子的个人博客

CentOS7下安装Mesos教程

Mesos是根据Linux内核相同原则而创建的,而不同点仅是在于抽象的层面。Mesos内核运行在每一个机器上,同时通过 API 为各种应用提供跨数据中心和云的资...

882
来自专栏古时的风筝

用python实现的百度音乐下载器-python-pyqt-改进版

之前写过一个用python实现的百度新歌榜、热歌榜下载器的博文,实现了百度新歌、热门歌曲的爬取与下载。但那个采用的是单线程,网络状况一般的情况下,扫描前100首...

2418
来自专栏搜云库

Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证、TLS 的私有仓库

上一篇文章搭建了一个具有基础功能的私有仓库,这次来搭建一个拥有权限认证、TLS 的私有仓库。 环境准备 系统:Ubuntu 17.04 x64 IP:198.1...

3216
来自专栏Android常用基础

Tinker-使用教程与原理分析(上)

前面我们讲解了AndFix的使用,这篇我们来讲解下微信的Tinker热修复,相比AndFix,Tinker的功能更加全面,更主要的是他支持gradle。他不仅做...

1161
来自专栏FreeBuf

WordPress曝未经授权的密码重置漏洞(CVE-2017-8295 )

漏洞提交者:Dawid Golunski 漏洞编号:CVE-2017-8295 发布日期:2017-05-03 修订版本:1.0 漏洞危害:中/高 I. 漏洞 ...

18810
来自专栏python学习之旅

Python+Selenium笔记(十一):配置selenium Grid

(一) 前言 Selenium Grid可以将测试分布在若干个物理或虚拟机器上,从而实现分布方式或并行方式执行测试。 这个链接是官方的相关说明。 https:/...

3797
来自专栏lhyt前端之路

pwa+webpack,初探与踩坑0.前言1.webpack2.pwa3.基于webpack的pwa

我们都知道pwa是一个新技术.,依靠缓存,离线了还能正常跑,而且秒开。我把以前原生写的小游戏迁移到react,再迁移到webpack+react,最后再升级到p...

752
来自专栏FreeBuf

如何防止Mimikatz「获取」Windows密码

黑客总是在用最简单的攻击方式来实现他们的目的,比如用已经存在了好多年的工具——Mimikatz(猕猴桃),它可以从系统内存中轻松获取到明文密码。 受影响的系统 ...

1868

扫码关注云+社区