1. 跨集群流量调度概述
1.1 Envoy 在多集群架构中的核心角色
在云原生多集群(Multi-Cluster)架构中,Envoy 不再仅仅是单个 Kubernetes 集群内的 Sidecar 代理或入口网关,而是演变为跨集群流量调度的“神经中枢”。它承担着以下三个关键职责:
- 统一控制面数据面:通过 xDS 协议(CDS/EDS/LDS/RDS)从控制面(如 Istiod)获取跨集群的服务发现与路由规则,实现全局流量视图。
- 协议桥接与透明劫持:在东西向流量中,Envoy 作为隧道端点(Tunnel Endpoint),支持 HTTP/2、gRPC、TCP 甚至原始 IP 流量的跨集群透明转发。
- 可观测性与故障隔离:在流量路径上注入分布式追踪(Trace)、访问日志(Access Log)和指标(Metrics),为跨集群故障定位提供数据基础。
关键认知: 在多集群场景下,Envoy 的配置复杂度呈指数级增长。一个错误的集群标识(Cluster ID)或缺失的 TLS 证书,可能导致整个跨集群链路中断。理解 Envoy 的集群间通信模型是排查故障的第一步。
1.2 南北向与东西向流量模型
多集群流量调度通常分为两种模型,Envoy 在其中的部署形态和配置重点截然不同:
| 维度 | 南北向流量(North-South) | 东西向流量(East-West) |
|---|---|---|
| 流量方向 | 外部客户端 → 集群内部服务 | 集群 A 服务 → 集群 B 服务 |
| Envoy 角色 | 入口网关(Ingress Gateway) | Sidecar 代理 / 隧道网关 |
| 核心挑战 | 全局负载均衡、TLS 终止、速率限制 | 集群间服务发现、网络连通性、延迟优化 |
| 典型协议 | HTTP/1.1, HTTP/2, gRPC | Envoy 原生隧道(Tunneling)、gRPC |
| 故障常见点 | 证书过期、SNI 不匹配、路由规则冲突 | 集群 DNS 解析失败、MTU 分片、防火墙策略 |
实战提示: 本课程将重点聚焦于东西向流量的故障排查与性能调优,因为南北向流量已有大量成熟方案,而东西向流量在多集群场景下的问题更具隐蔽性和复杂性。
1.3 课程目标
通过本课程,学员将掌握以下核心能力:
- 故障排查体系:建立从“流量入口 → 跨集群隧道 → 目标服务”的全链路故障排查方法论,熟练使用 Envoy Admin 接口、访问日志、分布式追踪和 Istio 的
istioctl analyze工具。 - 性能调优实战:针对跨集群场景下的延迟敏感型应用,掌握 Envoy 连接池(Connection Pool)、超时(Timeout)、重试(Retry)和负载均衡策略(Maglev / Ring Hash)的调优参数。
- 配置安全加固:避免因 TLS 证书轮换、集群标识冲突、端点分片不均导致的流量中断或性能劣化。
避坑提醒: 很多工程师在调优跨集群流量时,只关注网络延迟而忽略了 Envoy 自身的线程模型(worker 数量)和连接池耗尽问题。本课程将用真实案例展示这些“隐形瓶颈”。
1.4 前置知识要求
为了确保学习效果,建议学员具备以下基础:
| 领域 | 具体要求 | 推荐学习资源 |
|---|---|---|
| Kubernetes 基础 | 理解 Pod、Service、Endpoint、Ingress 资源;熟悉 kubectl 常用命令 |
Kubernetes 官方文档 |
| Envoy 基础 | 了解 Listener、Cluster、Route 核心概念;能通过 Admin 接口查看配置和统计 | Envoy 官方入门指南 |
| Istio 基础 | 了解 VirtualService、DestinationRule、ServiceEntry 等 CRD;熟悉 Istio 注入原理 | Istio 基础教程 |
| 网络基础 | 理解 TCP/IP、HTTP/2、gRPC、TLS 握手流程;了解 VPC 对等连接或 Cilium 多集群网络 | 《计算机网络:自顶向下方法》 |