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

版权声明:本文由腾讯云容器服务  原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/216046001482723263

来源:腾云阁 https://www.qcloud.com/community

 

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

1.什么是滚动升级

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

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

2.使用说明

C:\Users\garyyu\AppData\Local\Temp\{9C7D4A17-0CDA-4C9F-9AB7-86B42A0C3B1B}.png

我们有以下两个镜像 C:\Users\garyyu\AppData\Local\Temp\{9C7D4A17-0CDA-4C9F-9AB7-86B42A0C3B1B}.png

镜像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,点击“更新服务”按钮

C:\Users\garyyu\AppData\Local\Temp\{AD2949A2-C988-4957-BA7F-5679D6A3A794}.png

在弹出的更新服务页面中修改镜像版本为Bye C:\Users\garyyu\AppData\Local\Temp\{46ED776E-C9B7-4DB5-85F7-5C8180BE0BF3}.png

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

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

回到容器服务控制台,服务列表页,会看到hellobye状态变为更新中,此时点击查看进度按钮,在弹窗中可查看服务更新进度 C:\Users\garyyu\AppData\Local\Temp\{F47BA280-DD4A-48ED-9D50-21DD7BAE356A}.png

随着更新进度的变化,会看到刚才执行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.暂停更新

在更新过程中,您随时可以点击暂停更新按钮来暂停滚动升级,此时服务状态会变为“暂停更新”,您也可以点击继续更新按钮来继续服务的更新 C:\Users\garyyu\AppData\Local\Temp\{F3C73900-EF3A-41F9-8D06-2564D50B4F4E}.png

C:\Users\garyyu\AppData\Local\Temp\{2293B70F-1C08-4316-8E7D-C9644CEE6358}.png

4.回滚更新

在更新过程中,您也可以随时点击“回滚”按钮来终止本次更新并将已升级的容器恢复到原始版本 C:\Users\garyyu\AppData\Local\Temp\{5B9CF4B5-E51C-47F3-B0AE-A39AF7A90AA3}.pngC:\Users\garyyu\AppData\Local\Temp\{BC3241E6-922F-48C4-B4D3-047D02A39ACB}.png

 

posted @ 2016-12-28 16:15  偶素浅小浅  阅读(927)  评论(0编辑  收藏  举报