k8s 不宕机滚动发布实战笔记

背景

     对于业务和产品来讲,随时都有紧急小版本功能上线,对于研发人员来讲,线上如果有一些紧急的bug,都需要随时发版修正;而对于产品使用用户来讲,任何的功能和版本发布,要尽可能对用户无感知。

方案

  • 灰度发布,自动小批量流量切换。
  • 产品层面要切分小版本,研发设计细节上要向上兼容(诸如接口层面)。
  • 服务发布要实现滚动发布,发布异常要自动回滚,中间不断服。

     其中一部分是工具实现,一部分是项目管理实现,最后一部分是运维层面及架构层面要做的适配和兼容。

k8s 滚动发布方案:

1. 历史实践方案- rancher

k8s采用rancher部署。

1)采用rancher cli 客户端工具登陆rancher,获取发布日志,扫描启动日志“成功标记位”,超过扫描周期,判定为发布失败,通知rancher进行回滚。

2)应用进程关闭前自动通知网关注销节点,通知eureka下线,关闭流量。如果关闭进程超时,则强杀!

实践心得:正常发布情况下基本可用,回滚情况下基本可用;如果出现超时,可能会出现流量少量时间异常。因为靠超时保证稳定性,所以有时发布周期较长。

2. 现有实践方案 - 阿里云k8s

k8s采用阿里云部署。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值