Istio:灰度发布与技术实现

简介: 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


相关链接


目录
相关文章
|
6月前
|
运维 负载均衡 监控
服务网格技术对比:深入比较Istio、Linkerd和Envoy等服务网格解决方案的优缺点
服务网格技术对比:深入比较Istio、Linkerd和Envoy等服务网格解决方案的优缺点
200 0
|
负载均衡 监控 Kubernetes
【云原生|技术基石】4:速通云原生基石-Istio服务网格
本期文章是介绍云原生技术的基石:Istio服务网格,上次的文章中我们已经学习过了Pod的详细介绍,感兴趣的同学可以去看一下,任意门:【云原生|实战研发】2:Pod的深入实践与理解
【云原生|技术基石】4:速通云原生基石-Istio服务网格
|
测试技术 开发者
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
快速学习 KubeVela 对接 Istio 实现应用灰度发布实践
364 0
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
|
Prometheus 监控 Kubernetes
进阶:对接 Istio 实现应用灰度发布实践| 学习笔记
快速学习进阶:对接 Istio 实现应用灰度发布实践。
150 0
进阶:对接  Istio 实现应用灰度发布实践| 学习笔记
|
设计模式 Kubernetes Cloud Native
干货分享|使用 Istio 实现灰度发布
Kubernetes 作为基础平台,提供了强大的容器编排能力。但是在其上部署业务和服务治理上,仍然会面对一些复杂性和局限性。在服务治理上,已经有许多成熟的 ServiceMesh 框架用于扩充其能力,如 Istio、Linkerd、Dapr 等。本文将主要介绍如何使用 Istio 扩充 Kubernetes 灰度发布的能力。
|
Kubernetes 负载均衡 监控
Istio:架构与技术
Istio:架构与技术
597 0
Istio:架构与技术
|
存储 Kubernetes Dubbo
基于 Istio 的全链路灰度方案探索和实践
本文介绍的基于“流量打标”和“按标路由” 能力是一个通用方案,基于此可以较好地解决测试环境治理、线上全链路灰度发布等相关问题,基于服务网格技术做到与开发语言无关。同时,该方案适应于不同的7层协议,当前已支持 HTTP/gRpc 和 Dubbo 协议。
基于 Istio 的全链路灰度方案探索和实践
|
Kubernetes 前端开发 JavaScript
基于istio的灰度发布实验
灰度发布又叫A/B测试,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。 因为最近刚好有灰度发布的需求,我又学了一遍istio,记录了本次灰度发布的实施过程(只包括应用,不包括数据库升级)
5750 0
基于istio的灰度发布实验
|
存储 Kubernetes Dubbo
基于Istio 的全链路灰度方案探索和实践
# 背景 微服务软件架构下,业务新功能上线前搭建完整的一套测试系统进行验证是相当费人费时的事,随着所拆分出微服务数量的不断增大其难度也俞大。这一整套测试系统所需付出的机器成本往往也不低,为了保证应用新版本上线前的功能正确性验证效率这套系统还必须一直单独维护好。当业务变得庞大且复杂时,往往还得准备多套,这是整个行业共同面临且难解的成本和效率挑战。如果能在同一套生产系统中完成新版本上线前的功能验证的
857 1
基于Istio 的全链路灰度方案探索和实践
|
负载均衡 Kubernetes 监控
Istio,灰度发布从未如此轻松!!!
ServiceMesh解决什么问题?
643 0
Istio,灰度发布从未如此轻松!!!