大纲
- 典型发布类型对比
- Istio流量治理技术解析
- 智能灰度发布介绍
- 灰度发布功能展示
典型发布类型对比
- 蓝绿发布
- 灰度发布(金丝雀发布)
- A/B Test
可参考:K8s 应用管理之道 - 升级篇(二) https://blog.csdn.net/fly910905/article/details/99696319
蓝绿发布
灰度发布(金丝雀发布)
A/B Test
- A/B Test主要对特定用户采样后,对收集到的反馈数据做相关对比,然后根据比对结果作出决策。
- 用来测试应用功能表现的方法,侧重应用的可用性,受欢迎程度等。
Istio流量治理技术解析
Istio流量管理
配置规则
- VirtualService 在 Istio 服务网格中定义路由规则,控制路由如何路由到服务上。
- DestinationRule 是 VirtualService 路由生效后,配置应用与请求的策略集。
- ServiceEntry 是通常用于在 Istio 服务网格之外启用对服务的请求。
- Gateway 为 HTTP/TCP 流量配置负载均衡器,最常见的是在网格的边缘的操作,以启用应用程序的入口流量。
DestinationRule
VirtualService
基于权重的路由
基于请求内容的路由
复杂灰度场景下的VirtualService
智能灰度发布介绍
智能灰度发布,相当于无人值守
灰度发布流程
智能灰度发布
目标:细粒度控制的自动化的持续交付
特点:
- 用户细分
- 流量管理
- 关键指标可观测
- 发布流程自动化
自适应灰度发布参数
- 负载健康状态
- 请求成功率
- 平均请求时延
- 流量权重步长
- 回滚门限值
监控指标
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