云原生之路07之Istio服务网格进阶

举报
孙小北 发表于 2021/06/18 17:22:17 2021/06/18
【摘要】 云原生之路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)基于权重的灰度发布:可更加需要灵活动态的调整不同服务版本的流量比例
      image.png
    • (2)基于内容的灰度发布:可根据请求的内容控制其流行的服务版本(Cookie,Header,OS,Browser)。
      image.png
  • 蓝绿发布

    • 蓝绿发布提供一种零宕机的部署方式。不停老版本,部署新版本进行测试。始终有两个版本同时在线,有问题可以快速切换
    • 在部署应用过程中,应用始终在线。并且新版本上线过程中,不会修改老版本任何内容,在部署阶段老版本状态不受影响。只要老版本资源不被删除,可以在任何时间回滚到老版本。
    • 可根据需要将全量流量在新旧版本间切换
      image.png

灰度发布流程

image.png

灰度发布流程自动化管理

  • 灰度版本一键部署流量切换一键生效
  • 配置式灰度策略,支持流量比例,请求内容(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》的文章
    image.png

服务治理介绍

  • 服务治理主要针对微服务的治理:
    • (1)服务注册和服务发现
    • (2)服务负载均衡,路由,灰度和蓝绿
    • (3)服务降级,熔断
    • (4)服务限流
    • (5)服务监控
  • 微服务框架:SpringCloud,Dubbo

微服务框架和服务网格流量治理对比

image.png

Istio常用的流量治理策略

流量治理策略1:服务注册&发现

image.png

流量治理策略2:负载均衡

  • 负载均衡算法:加权轮询、最少请求、环形Hash、随机、优先级负载均衡、Locality加权
    image.png
    image.png

流量治理策略3:路由(流量切换、灰度发布)

image.png

流量治理策略4:熔断、降级

image.png
image.png

流量治理策略5:故障注入

image.png

流量治理策略6:限流

image.png

流量治理策略7:失败重试

image.png

Istio监控介绍

可观测性:Istio以非侵入的方式提供了一下遥测类型:

  • Metrics
  • Distributed Traces
  • Access Logs
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。