流量管理

在本章中,我们将开始使用 Istio 服务网格在服务之间进行流量路由。我们将学习如何设置一个 Ingress 资源以允许流量进入我们的集群,以及一个 Egress 资源以使流量流出集群。

使用流量路由,我们将学习如何部署新版本的服务,并在已发布的生产版本的服务旁边运行,而不干扰生产流量。随着两个服务版本的部署,我们将逐步发布(金丝雀发布)新版本,并开始将一定比例的传入流量路由到最新版本。

流量管理是 Isito 中的最基础功能,使用 Istio 的流量管理模型,本质上是将流量与基础设施扩容解耦,让运维人员可以通过 Pilot 指定流量遵循什么规则,而不是指定哪些 pod/VM 应该接收流量——Pilot 和智能 Envoy 代理会帮我们搞定。

所谓流量管理是指:

  • 控制服务之间的路由:通过在 VirtualService 中的规则条件匹配来设置路由,可以在服务间拆分流量。
  • 控制路由上流量的行为:设定好路由之后,就可以在路由上指定超时和重试机制,例如超时时间、重试次数等;做错误注入、设置断路器等。可以由 VirtualServiceDestinationRule 共同完成。
  • 显式地向网格中注册服务:显示地引入 Service Mesh 内部或外部的服务,纳入服务网格管理。由 ServiceEntry 实现。
  • 控制网格边缘的南北向流量:为了管理进入 Istio service mesh 的南北向入口流量,需要创建 Gateway 对象并与 VirtualService 绑定。

章节目录

流量管理基础概念

深入了解 Istio 流量管理的基础概念与配置示例,掌握 VirtualService、DestinationRule 等关键组件的使用。

Gateway

探索 Istio 网关的作用,包括入口和出口网关的配置、负载均衡,以及在 Kubernetes 集群中的流量管理。

基本路由

了解如何在 Istio 中使用 VirtualService 进行流量路由,优化应用程序的版本控制与流量分配。

Subset 和 DestinationRule

了解如何通过子集和 DestinationRule 管理服务版本,优化流量策略,提升应用程序性能。

弹性

探索弹性(Resiliency)在故障应对中的重要性,学习如何通过超时和重试策略提升服务可用性。

错误注入

探索故障注入如何提升服务弹性,了解延迟和中止请求的策略,确保系统在故障情况下的稳定性。

高级路由

深入了解 Istio 的高级路由功能,掌握流量控制与请求重写的技巧,优化服务间的流量管理。

ServiceEntry

了解 Istio 的 ServiceEntry 如何增强服务注册能力,使外部 API 能够无缝集成到您的服务网格中。

Sidecar

了解如何在 Istio 中为 Kubernetes 配置 Sidecar 资源,通过 ingress 和 egress 设置控制流量,实现更优的服务管理。

EnvoyFilter

了解如何通过 Istio 的 EnvoyFilter 定制 Envoy 配置,在提升服务网格能力的同时确保稳定性与性能。

文章导航

章节概览

这是本章节的概览页面。

章节概览

评论区