开发者社区> 问答> 正文

如何Kubernetes集群中通过 Ingress 实现灰度发布和蓝绿发布?

如何Kubernetes集群中通过 Ingress 实现灰度发布和蓝绿发布?

展开
收起
小天使爱美 2020-03-31 15:47:32 933 0
1 条回答
写回答
取消 提交回答
  • 本文介绍如何利用阿里云容器服务的Ingress功能,实现灰度发布和蓝绿发布。

    背景信息 灰度及蓝绿发布是为新版本创建一个与老版本完全一致的生产环境,在不影响老版本的前提下,按照一定的规则把部分流量切换到新版本,当新版本试运行一段时间没有问题后,将用户的全量流量从老版本迁移至新版本。

    其中A/B测试就是一种灰度发布方式,一部分用户继续使用老版本的服务,将一部分用户的流量切换到新版本,如果新版本运行稳定,则逐步将所有用户迁移到新版本。

    应用场景 场景一

    假设当前线上环境,您已经有一套服务Service A对外提供7层服务,此时上线了一些新的特性,需要发布上线一个新的版本Service A',但又不想简单地直接替换掉Service A服务,而是希望将请求头中包含foo=bar或者cookie中包含foo=bar的客户端请求转发到Service A'服务中,待运行一段时间稳定后,可将所有的流量从Service A切换到Service A'服务中,再平滑地将Service A服务下线。场景一 场景二

    假设当前线上环境,您已经有一套服务Service B对外提供7层服务,此时修复了一些问题,需要发布上线一个新的版本Service B',但又不想简单地将所有客户端流量切换到新版本Service B'中,而是希望将20%的流量切换到新版本Service B'中,待运行一段时间稳定后,可将所有的流量从Service B切换到Service B'服务中,再平滑地将Service B服务下线。场景二 针对以上多种不同的应用发布需求,阿里云容器服务Kubernetes的 Ingress 功能提供的4种流量切分方式:

    灰度发布中的A/B 测试: 基于Request Header的流量切分 基于Cookie的流量切分 基于Query Param的流量切分 蓝绿发布:基于服务权重的流量切分

    2020-03-31 15:47:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像