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

网友投稿 607 2022-05-30

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

第十章 Istio灰度发布管理

前情回顾:

服务网格的发展历程、相关概念

Istio的概念、架构、特性、应用场景

架构:控制面(Istiod: Citadel,Pilot, Gally)、数据平面:(代理 Envoy)

特性:流量管理(负载均衡,动态路由,灰度发布,故障注入)、可观察性(调用链,访问日志,监控)、策略控制(限流,ACL,配额,计费)、认证安全(认证,授权,审计)

资源类型:Gateway,Virtual Service、Destination Rule

业务灰度发布概述

灰度发布是迭代的软件产品在生产环境安全上线的一种重要手段

应用服务网格基于Istio提供的服务治理能力,对服务提供多版本支持和灵活的流量策略,从而支持多种灰度发布场景

金丝雀发布

在生产环境上引一部分实际流量对一个新版本进行测试,测试新版本的性能和表现,在保证系统整体文档运行的前提下,尽早发现新版本在实际环境上的问题

通过在线上运行的服务中,新加入少量的新版本的服务,然后从这少量的新版本中快速活动反馈,根据反馈决定最后的交付形态。

分类

(1)基于权重的灰度发布:可更加需要灵活动态的调整不同服务版本的流量比例

(2)基于内容的灰度发布:可根据请求的内容控制其流行的服务版本(Cookie,Header,OS,Browser)。

蓝绿发布

蓝绿发布提供一种零宕机的部署方式。不停老版本,部署新版本进行测试。始终有两个版本同时在线,有问题可以快速切换

在部署应用过程中,应用始终在线。并且新版本上线过程中,不会修改老版本任何内容,在部署阶段老版本状态不受影响。只要老版本资源不被删除,可以在任何时间回滚到老版本。

可根据需要将全量流量在新旧版本间切换

灰度发布流程

灰度版本一键部署,流量切换一键生效

配置式灰度策略,支持流量比例,请求内容(Cookie,OS,浏览器等)和源IP

一站式健康,性能,流量监控,实现灰度发布过程量化,智能化和可视化。

ASM灰度发布功能与使用场景

可根据请求的内容控制其流行的服务版本(Cookie,Header,OS,Browser)

步骤:

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

(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常用的流量治理策略

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

Istio监控介绍

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

Metrics

Distributed Traces

Access Logs

Istio 云原生

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:软件测试--缺陷报告
下一篇:【WeLink开放平台】运营规范---高压线及违规处理
相关文章