• home > OMD > TEST >

    灰度发布方案(5):虚拟层实现灰度环境

    Author:zhoulujun Date:

    首先在请求开始处,实现自己的灰度逻辑,比如下面的demo根据请求url如果包含‘version’向holder中添加route为A的标识,否则添加route为B的标识。 (Holder本质是一个localThread)

     灰度发布在实际生产部署中是经常被使用的方式,常规的方法是手动从前端LB(负载均衡)上将后端服务器摘掉,然后,停服务,最后上传代码,完成软连接更新。在使用CI/CD工具时,这个过程变得自动化了,我们只需要通过Jenkins这个功能强大的开源持续集成和部署工具,就可以联合Gitlab 或 Gogs 来实现自动拉取代码,并根据自己编写的pipeline脚本,实现自动连接到LB上摘掉后端Server,并自动连接到后端Server上,上传代码,并重启服务,最后通过邮件通知管理员整个过程的结果报告。但今天,K8s的更让我们看到了一种更便捷高效的灰度发布的实现方法


    通过Kubernetes+Istio的流量控制实现灰度发布,主要演示通过流量权重实现蓝绿,通过http自定义头实现金丝雀,参看《k8s+istio:流量控制之灰度发布



    转载本站文章《灰度发布方案(5):虚拟层实现灰度环境》,
    请注明出处:https://www.zhoulujun.cn/html/Operation/test/2020_0810_8540.html