当前位置: 首页 > news >正文

网站建设服务 杭州中国诗歌网个人网页

网站建设服务 杭州,中国诗歌网个人网页,公司做营销型网站,建设微信商城网站制作本文介绍通过 Jenkins 构建流水线的方式实现全链路灰度功能。在发布过程中#xff0c;为了整体稳定性#xff0c;我们总是希望能够用小部分特定流量来验证下新发布应用是否正常。 即使新版本有问题#xff0c;也能及时发现#xff0c;控制影响面#xff0c;保障了整体的稳…本文介绍通过 Jenkins 构建流水线的方式实现全链路灰度功能。在发布过程中为了整体稳定性我们总是希望能够用小部分特定流量来验证下新发布应用是否正常。 即使新版本有问题也能及时发现控制影响面保障了整体的稳定性。 整体架构 我们以如下 Demo 为例 为了保证稳定我们约定如下上线流程 其中在灰度验证中有几种不同的策略 直接使用线上小部分流量来测试按照百分比放量从线上按照特定规则选择流量比如特定的 header、特定的 cookie 等在客户端或浏览器上标识出流量是否灰度比如通过 header 传递 部署应用创建泳道 按照参考文档部署应用后我们首先要区分线上流量和灰度流量。 创建泳道组将整个链路涉及到的应用全选 然后创建泳道组将符合规则的应用划入 gray 泳道 注没有匹配的流量会走到基线环境也就是没有打标的应用节点上。配置完成后访问网关如果不符合灰度规则走基线环境 如何符合灰度规则走灰度环境 配置 Jenkins 流水线 本文实践需要将源码打包后执行镜像推送请确保 Jenkins 有权限推送到镜像仓库中。具体操作请参见使用 kaniko 构建和推送容器镜像。 在 Jenkins 命名空间下使用生成的 config.json 文件创建名为 jenkins-docker-cfg 的 Secret。 在 Jenkins 中创建全链路灰度发布流水线 基于 Jenkins 实现自动化发布的流水线通过该流水线可以使应用发布具备可灰度、可观测、可回滚的安全生产三板斧能力。 1. 在 Jenkins 控制台左侧导航栏单击新建任务。 2. 输入任务名称选择流水线然后单击确定 3. 在顶部菜单栏单击流水线页签在流水线区域配置相关参数选择输入脚本路径然后单击保存。 定义选择 Pipeline script from SCM。SCM选择 Git。Repository URL输入 Git 仓库的 URL。脚本路径输入 Jenkinsfile。 您可以参考以下的文件填写好指定的参数当然您也可以根据需求编写 Jenkinsfile 并上传至 Git 的指定路径下流水线中指定的脚本路径。 构建 Jenkins 流水线 1. 在 Jenkins 控制台单击流水线右侧的图标。 2. 单击流水线的开始构建。 说明第一次构建因为需要从 Git 仓库拉取配置并初始化流水线所以可能会报错再次执行 Build with Parameters生成相关的参数填写相关的参数再次执行构建。查看部署状态代码打包镜像构建及发布灰度部署阶段都已经完成结束灰度阶段等待确认。 如果验证结果符合预期则执行全量发布请参见后文的全量发布应用。如果验证结果不符合预期时则执行回滚请参见后文的回滚应用。 结果验证 1. 登录容器服务控制台在控制台左侧导航栏中单击集群。 2. 在集群列表页面中单击目标集群名称或者目标集群右侧操作列下的详情。 3. 在集群管理页面左侧导航栏选择工作负载 无状态。 4. 在无状态应用列表页面spring-cloud-a-gray应用已经自动创建并且它的镜像已经替换为spring-cloud-a:gray版本。 5. 在集群管理页面左侧导航栏选择网络 服务选择设置的命名空间单击zuul-slb服务的外部端点查看真实的调用情况。 不带灰度 Header 进行调用发现路由到 A 的正常节点。 Curl 命令执行结果如下带上符合条件的参数进行访问路由到 A 的灰度节点中。 Curl 命令执行结果如下6. 登录 MSE 治理中心控制台在应用详情页面可以看到灰度流量已经进入到灰度的 Pod 中。 全量发布应用 结果验证通过之后确认全量发布。 1. 在 Jenkins 控制台中单击目标流水线名称。 2. 单击需要全量发布的阶段在请确认是否全量发布对话框中输入 true然后单击确认。 3. 在容器服务控制台发现 spring-cloud-a-gray 应用已经被删除并且 spring-cloud-a 应用的镜像已经替换为 spring-cloud-a:gray 版本。 4. 在 MSE治理中心控制台发现灰度流量已经消失。 回滚应用 如果发现验证结果不符合预期时则回滚应用。 1. 在 Jenkins 控制台中单击目标流水线名称。 2. 单击需要全量发布的阶段在请确认是否全量发布对话框中输入 false然后单击确认。 3. 在容器服务控制台发现 spring-cloud-a-gray 应用已经被删除并且 spring-cloud-a 应用的镜像仍然是老版本。 4. 在 MSE 治理中心控制台发现灰度流量已经消失。 总结 在微服务治理架构中全链路灰度功能能提供虚拟泳道极大的方便了测试、发布时的快速验证能够帮助 DevOPs 提升线上稳定性。 阿里云微服务引擎MSE能够给您带来全生命周期的、全方位的微服务治理能力保障您的线上稳定性、提升开发、运维效率。 相关链接 参考文档 https://github.com/aliyun/alibabacloud-microservice-demo/blob/master/mse-simple-demo/helm/mse-simple-demo/README.md 示例代码仓库地址 https://gitee.com/mse-group/alibabacloud-microservice-demo/tree/master/mse-simple-demo 容器服务控制台 https://cs.console.aliyun.com/#/k8s/cluster/list MSE治理中心控制台 https://mse.console.aliyun.com/#/overview 使用 kaniko 构建和推送容器镜像 https://help.aliyun.com/document_detail/106712.htm 作者卜比 原文链接 本文为阿里云原创内容未经允许不得转载。
http://www.huolong8.cn/news/400976/

相关文章:

  • 网站轮播效果百度做网站电话多少钱
  • 网站留言短信通知 源码wordpress 数据表前缀
  • seo网站设计费用红色专题网站首页模板
  • 网站建设那个好wordpress 特色
  • 建设网站网网站开发都需要什么工作
  • 中国工程建设网站唐山建设工程造价信息网站
  • 绵阳网站建设多少钱网站建设与管理是干什么的
  • 贸易网站设计公司专业零基础网站建设教学培训
  • 工商营业执照注册网站微网站app制作
  • 申请网站的域名crm系统网址
  • 万网网站空间购买wordpress主题的连接函数
  • 温州网站推广效果好可以自己做网站
  • 上海企业网站设计制作开发小程序软件的公司
  • 湖南省建设资源人才网站网站用图片
  • 网站诚信体制建设药检局信息化网站系统建设方案
  • 开发网站用什么语言最好吗合肥seo按天扣费
  • 手机网站下拉刷新仿站怎么做
  • 如何做网站推广营销网站建设淘宝店铺模板
  • 南和邢台网站制作北京网站建设品牌
  • 建设网站必须用dns大连网站怎么推广
  • linux主网站设计做百度网站好吗
  • 丰台青岛网站建设网站开发项目拖延周期
  • 关于网站建设的方案ppt最近一周新闻
  • 网站的建设百度首页精简版
  • 网站排行榜图片拼接在线制作
  • 创建网站的步骤正确的建议是
  • 免费自己制作logo的网站wordpress小说站
  • 自己建网站 知乎最好的网页设计公司
  • 做cms网站步骤商城系统管理
  • 重庆seo整站优化外包服务门户网站的建设成果