Istio:灰度发布与技术实现

大纲

  1. 典型发布类型对比
  2. Istio流量治理技术解析
  3. 智能灰度发布介绍
  4. 灰度发布功能展示

典型发布类型对比

  1. 蓝绿发布
  2. 灰度发布(金丝雀发布)
  3. A/B Test

可参考:K8s 应用管理之道 - 升级篇(二) https://blog.csdn.net/fly910905/article/details/99696319

蓝绿发布

灰度发布(金丝雀发布)

A/B Test

  • A/B Test主要对特定用户采样后,对收集到的反馈数据做相关对比,然后根据比对结果作出决策。
  • 用来测试应用功能表现的方法,侧重应用的可用性,受欢迎程度等。                                           

Istio流量治理技术解析

Istio流量管理

配置规则

  1. VirtualService 在 Istio 服务网格中定义路由规则,控制路由如何路由到服务上。
  2. DestinationRule 是 VirtualService 路由生效后,配置应用与请求的策略集。
  3. ServiceEntry 是通常用于在 Istio 服务网格之外启用对服务的请求。
  4. Gateway 为 HTTP/TCP 流量配置负载均衡器,最常见的是在网格的边缘的操作,以启用应用程序的入口流量。

DestinationRule

VirtualService

基于权重的路由
 

基于请求内容的路由

复杂灰度场景下的VirtualService 

智能灰度发布介绍

智能灰度发布,相当于无人值守

灰度发布流程

智能灰度发布

目标:细粒度控制的自动化的持续交付

特点

  1. 用户细分
  2. 流量管理
  3. 关键指标可观测
  4. 发布流程自动化

自适应灰度发布参数

  • 负载健康状态
  • 请求成功率 
  • 平均请求时延
  • 流量权重步长
  • 回滚门限值

监控指标

RED

  • (Request) Rate - the number of requests, per second, your services are serving.
  • (Request) Errors - the number of failed requests per second.
  • (Request) Duration - The amount of time each request takes expressed as a time interval


USE( utilization, saturation, errors)

  • CPUs: sockets, cores, hardware threads (virtual CPUs)
  • Memory: capacity
  • Network interfaces
  • Storage devices: I/O, capacity
  • Controllers: storage, network cards
  • Interconnects: CPUs, memory, I/O

flagger

flagger
kubectl -n test describe canary/podinfo

相关链接

  • https://support.huaweicloud.com/usermanual-cce/cce_01_0050.html
  • https://bbs.huaweicloud.com/videos/e4927c347e4a41da82feb9c8c0bf6b30
  • https://github.com/stefanprodan/flagger
  • https://github.com/magneticio/vamp2setup/blob/master/BASIC_TUTORIAL.md
  • https://github.com/intuit/wasabi
发布了391 篇原创文章 · 获赞 1081 · 访问量 165万+

猜你喜欢

转载自blog.csdn.net/fly910905/article/details/104036201