K8s 应用管理之道 - 升级篇(二)
背景
我们在系列文章 K8s 应用管理之道 - 升级篇(一) 中介绍了不同部署形式下应用的升级方法,同时展示了如何配置停机发布、滚动发布这两类 k8s 原生支持的部署升级策略。本文将介绍如何通过二次开发或使用一些第三方工具在 k8s 中实现应用的蓝绿发布、金丝雀发布和 A/B 测试。
蓝绿发布
如果新老版本的应用无法共存,但又希望实现零中断升级,在系统资源充足的前提下,可以选用蓝绿发布。通过 k8s 的 label-selector 机制可以轻松实现蓝绿发布。如下图所示,您需要做的仅仅是为不同版本的应用打上对应的标签,然后通过更改 service 的 selector 实现流量切换。
配置方法
这里和蓝绿发布相关的配置如下(完整配置参见 blue-green)。
[...] kind: Service spec: # Service 的

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
K8s 应用管理之道 - 升级篇(一)
背景 随着小步快跑、快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更、升级频率变得越来越频繁。为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式。 停机发布 - 把老版的应用实例完全停止,再发布新的版本。这种发布模式主要为了解决新老版本互不兼容、无法共存的问题,缺点是一段时间内服务完全不可用。 蓝绿发布 - 在线上同时部署相同数量的新老版本应用实例。待新版本测试通过后,将流量一次性地切到新的服务实例上来。这种发布模式解决了停机发布中存在的服务完全不可用问题,但会造成比较大的资源消耗。 滚动发布 - 分批次逐步替换应用实例。这种发布模式不会中断服务,同时也不会消耗过多额外的资源,但由于新老版本实例同时在线,可能导致来自相同客户端的请求在新老版中切换而产生兼容性问题。 金丝雀发布 - 逐渐将流量从老版本
- 下一篇
Failed to get D-Bus connection: Operation not permitted —解决Docker中Cent...
1.解决Docker中CentOS镜像无法使用systemd的问题 如果这让你觉得麻烦,那么你可以直接跳到本文第二部分开始阅读 创建DockerFile mkdir /root/centos-systemd cd /root/centos-systemd vim DockerFile FROM centos:7 ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*...
相关文章
文章评论
共有0条评论来说两句吧...