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

作者介绍:于广游,腾讯云后台开发工程师。欢迎加入腾讯云容器服务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 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

应用容器化优化指南 - Golang篇

摘要: 前言 随着容器技术的兴起,越来越多不同类型的应用开始使用容器的方式进行交付。Golang作为服务器端非常热门的一门语言同时也是容器技术的主要编写语言备受...

21230
来自专栏lgp20151222

spring技术小结

依赖注入(Dependency Injection)还是控制反转(Inversion of Conctrol)

11730
来自专栏magicodes

Docker最全教程——从理论到实战(五)

本篇教程持续编写了3个星期左右并且一直在完善、补充具体的细节和实践,预计全部完成需要1到2个月的时间。由于编写的过程中极其费时,并且还需要配合做一些实践(有些实...

11230
来自专栏腾讯云容器服务团队的专栏

Deployment vs ReplicationController in Kubernetes

此文主要选择了两个最常用的 controller : Deployment 和 ReplicationController ,从各自功能,优缺点方面进行对比,...

2.9K00
来自专栏腾讯云容器服务团队的专栏

基于 Kubernetes 的 ConfigMap 实现的腾讯云配置文件管理功能介绍

腾讯云容器服务根据用户使用的场景。基于 Kubernetes 的 ConfigMap 实现了通过配置文件设置容器的环境变量和将 key 中的内容挂载到容器的某个...

1.6K20
来自专栏云知识学习

TKE容器服务​创建ingress

ingress:通俗的理解是:通过7层负载均衡转发对应url到对应的path中,实现准确转发流量目的。

49920
来自专栏云资讯小编的专栏

腾讯云正式加入CNCF和Linux基金会,参与全球开源生态圈

美国东部时间5月8日,全球知名非营利性组织CNCF (Cloud Native Computing Foundation)在全球开源盛会“2017 OpenSt...

39100
来自专栏美团技术团队

美团容器平台架构及容器技术实践

大家好,我是本公众号的主持人,美团技术团队的程序员鼓励师美美。本文根据美团基础架构部/容器研发中心技术总监欧阳坚在2018 QCon(全球软件开发大会)上的演讲...

26820
来自专栏跟我一起学Docker

第九章 Kubernetes一撇

https://www.aliyun.com/solution/kubernetes/index

13040

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励