流量管理
在本章中,我们将开始使用 Istio 服务网格在服务之间进行流量路由。我们将学习如何设置一个 Ingress 资源以允许流量进入我们的集群,以及一个 Egress 资源以使流量流出集群。
使用流量路由,我们将学习如何部署新版本的服务,并在已发布的生产版本的服务旁边运行,而不干扰生产流量。随着两个服务版本的部署,我们将逐步发布(金丝雀发布)新版本,并开始将一定比例的传入流量路由到最新版本。
流量管理是 Isito 中的最基础功能,使用 Istio 的流量管理模型,本质上是将流量与基础设施扩容解耦,让运维人员可以通过 Pilot 指定流量遵循什么规则,而不是指定哪些 pod/VM 应该接收流量——Pilot 和智能 Envoy 代理会帮我们搞定。
所谓流量管理是指:
- 控制服务之间的路由:通过在
VirtualService
中的规则条件匹配来设置路由,可以在服务间拆分流量。 - 控制路由上流量的行为:设定好路由之后,就可以在路由上指定超时和重试机制,例如超时时间、重试次数等;做错误注入、设置断路器等。可以由
VirtualService
和DestinationRule
共同完成。 - 显式地向网格中注册服务:显示地引入 Service Mesh 内部或外部的服务,纳入服务网格管理。由
ServiceEntry
实现。 - 控制网格边缘的南北向流量:为了管理进入 Istio service mesh 的南北向入口流量,需要创建
Gateway
对象并与VirtualService
绑定。
本章大纲
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。