[发明专利]一种滚动升级方法及装置在审
申请号: | 202011486828.4 | 申请日: | 2020-12-16 |
公开(公告)号: | CN112596762A | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 孙超 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F9/455 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 王志远;赵迪 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 滚动 升级 方法 装置 | ||
本发明公开了一种滚动升级方法和系统,涉及计算机技术领域。该方法的一具体实施方式包括:在pod中为每个Kubernetes主业务容器添加相应的SideCar辅助容器;对Kubernetes原生的StatefulSet进行扩展,使得扩展后的StatefulSet在做滚动升级时保留pod;将StatefulSet中的MaxUnavailable的值设定为不大于pod的数量,以保持最大不可用的应用实例数不超过MaxUnavailable限定的值;通过编写SideCar使得所述Kubernetes主业务容器与SideCar辅助容器的运维模式解耦;以及在不重建pod的情况下原地升级SideCar辅助容器。该实施方式在做滚动更新的时候不会销毁并且重建pod,从而能够适用于大规模体量的场景,且不会产生不必要的开销,无需占用资源并且具有高亲和特性,同时也避免了网络流量传输的不确定性。
技术领域
本发明涉及计算机技术领域,尤其涉及一种具备丰富发布策略、支持原地升级的滚动升级方法及装置。
背景技术
Kubernetes(简称K8s)作为跨主机集群的开源容器调度平台,提供了以容器为中心的基础架构,并已经成为了容器编排领域的事实标准。
然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:在大规模体量的场景下,Kubernetes原生的控制器StatefulSet在做滚动更新(rolling update)时会引起大量不必要的开销,导致代价巨大。
发明内容
有鉴于此,本发明实施例提供一种容器部署方法,其能够以小的代价支持原地升级并且具备丰富的发布策略。
为实现上述目的,根据本发明实施例的一个方面,提供了一种滚动升级方法,其特征在于,包括:
在pod中为每个Kubernetes主业务容器添加相应的SideCar辅助容器;
对Kubernetes原生的StatefulSet进行扩展,使得扩展后的StatefulSet在做滚动升级时保留pod;
将StatefulSet中的MaxUnavailable的值设定为不大于pod的数量,以保持最大不可用的应用实例数不超过MaxUnavailable限定的值;
通过编写SideCar使得所述Kubernetes主业务容器与SideCar辅助容器的运维模式解耦;以及
在不重建pod的情况下原地升级SideCar辅助容器。
可选地,根据本发明的一个方面的方法,其中,
以在Kubernetes的主节点中添加控制器模块的方式扩展原生StatefulSet,以控制扩展后的StatefulSet支持原地升级并且允许应用实例被并行升级。
可选地,根据本发明的一个方面的方法,其中,
将StatefulSet中的MaxUnavailable的值设定为不大于1。
可选地,根据本发明的一个方面的方法,其中,
将StatefulSet中的MaxUnavailable的值设定为0。
可选地,根据本发明的一个方面的方法,其中,
所述SideCar辅助容器是monitoring容器。
可选地,根据本发明的一个方面的方法,其中,
所述SideCar辅助容器是log collection容器。
根据本发明的另一方面,提供一种滚动升级系统,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011486828.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动到账冻结的方法和装置
- 下一篇:电子设备、显示控制方法及装置