Istio 流量管理教程

Istio 流量管理教程 适用范围 本文基于 Istio 1.30.3 官方文档,说明 Sidecar 模式下的流量管理模型和核心 API。重点是理解 Istio 如何在不修改业务代码的前提下控制服务间流量。 本文覆盖: Gateway:网格边缘的入站或出站代理入口。 VirtualService:流量匹配、路由、超时、重试、故障注入、镜像。 DestinationRule:服务子集、负载均衡、连接池、熔断、异常实例剔除、TLS 策略。 ServiceEntry:把网格外服务加入 Istio 服务注册表。 Sidecar:限制 Envoy Sidecar 的入站端口和出站可见服务范围。 数据面排障思路:从路由、cluster、endpoint、listener 四类 Envoy 配置定位问题。 本文不覆盖 Istio 安装、Bookinfo 部署、Ambient 模式、授权策略、Telemetry API、多集群和生产发布流程。 流量管理模型 Sidecar 模式下,每个业务 Pod 注入一个 Envoy 容器。业务进程仍然访问 Kubernetes Service 或外部域名,真实转发行为由 Envoy 根据 Istio 配置决定。istiod 负责监听 Kubernetes 和 Istio 配置资源,把它们转换为 Envoy xDS 配置,并下发给数据面代理。 flowchart LR C[Client] --> IG[Istio Ingress Gateway / Envoy] IG --> A1[Service A Sidecar] A1 --> A2[Service A App] A2 --> A3[Service A Sidecar] A3 --> B1[Service B Sidecar] B1 --> B2[Service B App] ISTIOD[istiod] -. xDS .-> IG ISTIOD -. xDS .-> A1 ISTIOD -. xDS .-> A3 ISTIOD -. xDS .-> B1典型 HTTP 调用路径: ...

July 19, 2026

Envoy 请求生命周期与静态代理配置教程

Envoy 请求生命周期与静态代理配置教程 适用范围 本文基于 Envoy v1.39.0 官方文档的 Life of a Request、快速开始、HTTP 路由、Admin、xDS 和访问日志文档,说明 Envoy 作为 HTTP 反向代理时的核心模型、静态配置方式、请求处理流程和排障入口。 示例目标: 本地启动一个后端 HTTP 服务。 Envoy 监听 10000 端口。 Envoy 将所有 HTTP 请求转发到 backend:80。 Envoy Admin 监听 9901 端口,用于查看运行时配置和指标。 核心术语 downstream:连接到 Envoy 的一侧。对于边缘代理,通常是外部客户端;对于 sidecar,可能是本地应用或服务网格内的其他代理。 upstream:Envoy 转发请求的目标端。通常是业务服务实例。 listener:绑定 IP 和端口,接收 TCP 连接或 UDP 数据报。一个 Envoy 进程可以有多个 listener。 filter chain:Envoy 的处理管线。listener filter 处理连接元数据,network filter 处理 L3/L4 字节流,HTTP filter 处理 HTTP 请求/响应流。 HTTP connection manager:HTTP 代理场景中的核心 network filter,负责协议编解码、路由匹配、HTTP filter chain 管理、访问日志、统计指标和本地响应。 ...

July 19, 2026