云原生之路07之Istio服务网格进阶
【摘要】 云原生之路07之Istio服务网格进阶 第十章 Istio灰度发布管理前情回顾:服务网格的发展历程、相关概念Istio的概念、架构、特性、应用场景架构:控制面(Istiod: Citadel,Pilot, Gally)、数据平面:(代理 Envoy)特性:流量管理(负载均衡,动态路由,灰度发布,故障注入)、可观察性(调用链,访问日志,监控)、策略控制(限流,ACL,配额,计费)、认证安全(...
云原生之路07之Istio服务网格进阶
第十章 Istio灰度发布管理
前情回顾:
- 服务网格的发展历程、相关概念
- Istio的概念、架构、特性、应用场景
- 架构:控制面(Istiod: Citadel,Pilot, Gally)、数据平面:(代理 Envoy)
- 特性:流量管理(负载均衡,动态路由,灰度发布,故障注入)、可观察性(调用链,访问日志,监控)、策略控制(限流,ACL,配额,计费)、认证安全(认证,授权,审计)
- 资源类型:Gateway,Virtual Service、Destination Rule
业务灰度发布概述
灰度发布的定义
- 灰度发布是迭代的软件产品在生产环境安全上线的一种重要手段
- 应用服务网格基于Istio提供的服务治理能力,对服务提供多版本支持和灵活的流量策略,从而支持多种灰度发布场景
灰度发布的分类
-
金丝雀发布
- 在生产环境上引一部分实际流量对一个新版本进行测试,测试新版本的性能和表现,在保证系统整体文档运行的前提下,尽早发现新版本在实际环境上的问题
- 通过在线上运行的服务中,新加入少量的新版本的服务,然后从这少量的新版本中快速活动反馈,根据反馈决定最后的交付形态。
-
分类
- (1)基于权重的灰度发布:可更加需要灵活动态的调整不同服务版本的流量比例
- (2)基于内容的灰度发布:可根据请求的内容控制其流行的服务版本(Cookie,Header,OS,Browser)。
- (1)基于权重的灰度发布:可更加需要灵活动态的调整不同服务版本的流量比例
-
蓝绿发布
- 蓝绿发布提供一种零宕机的部署方式。不停老版本,部署新版本进行测试。始终有两个版本同时在线,有问题可以快速切换
- 在部署应用过程中,应用始终在线。并且新版本上线过程中,不会修改老版本任何内容,在部署阶段老版本状态不受影响。只要老版本资源不被删除,可以在任何时间回滚到老版本。
- 可根据需要将全量流量在新旧版本间切换
灰度发布流程
灰度发布流程自动化管理
- 灰度版本一键部署,流量切换一键生效
- 配置式灰度策略,支持流量比例,请求内容(Cookie,OS,浏览器等)和源IP
- 一站式健康,性能,流量监控,实现灰度发布过程量化,智能化和可视化。
ASM灰度发布功能与使用场景
基于内容的灰度发布
- 可根据请求的内容控制其流行的服务版本(Cookie,Header,OS,Browser)
- 步骤:
- (1) 发起金丝雀灰度任务,选择一个服务进行灰度发布
- (2) 给选定的服务创建灰度版
- (3) 提交并等待灰度版本正常启动
- (4) 在实例正常启动后,可以给灰度版本配置流量规则,分配流量
- (5) 经过一段时间的运行,确认灰度版本运行正常,满足业务要求,则可以切换全部流量到灰度版本,原版本下线
实验: 基于ASM实现Web app的灰度版本发布
第十一章 Istio流量治理与监控管理
微服务发展
- 微服务:互联网高速发展以及传统分布式、SOA架构无法适应快速的开发迭代等多重因素共同推动下的产物
- 微服务雏形:微服务概念最早由Fred George 在2012年的一次技术大会上所提出,拆分SOA服务实现解耦
- 微服务发扬光大:2014年,James Lewis 和 Martin Fowler发表一篇名为《Microservices》的文章
服务治理介绍
- 服务治理主要针对微服务的治理:
- (1)服务注册和服务发现
- (2)服务负载均衡,路由,灰度和蓝绿
- (3)服务降级,熔断
- (4)服务限流
- (5)服务监控
- 微服务框架:SpringCloud,Dubbo
微服务框架和服务网格流量治理对比
Istio常用的流量治理策略
流量治理策略1:服务注册&发现
流量治理策略2:负载均衡
- 负载均衡算法:加权轮询、最少请求、环形Hash、随机、优先级负载均衡、Locality加权
流量治理策略3:路由(流量切换、灰度发布)
流量治理策略4:熔断、降级
流量治理策略5:故障注入
流量治理策略6:限流
流量治理策略7:失败重试
Istio监控介绍
可观测性:Istio以非侵入的方式提供了一下遥测类型:
- Metrics
- Distributed Traces
- Access Logs
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)