Envoy原理介绍及线上问题踩坑outbound|xx|191130102|xx.xx.svc.cluster.local - 10.17.8.9:xx 100.95.165.3:28788 100.85.225.193 - 原因 分析 1. 抓包看到出现短时间内大量Retransmission 2. 超过cluster内建立与目标主机连接的最大重试次数(3次) 3. 原因为客户POD内部署两个对外服务端口,当客户端同时发起对不同服务的访问时,路由结果可能会落 DNAT拦截入15006端口,此时目标 dst-ip:dst-port被临时替换为envoy-ip:15006,此时将无法区分两个连接的流量。因此当第一个连接建立成 功后,第二个连接的SYNC包将被当作重复包丢弃,导致第二个连接建立失败。 解决 方案 1、与客户沟通拆分两个微服务到不同的POD(符合微服务拆分原则) 2、如果无法拆分微服务,则需要解决源端口重用的问题,目前没有采用此种方法。 bservability/access_log/usage • 调试日志:pilot-agent request POST /logging?connection=trace #Cxxx • 抓包 • 进入pod容器网络空间执行 tcpdump -i any 'port (15001 or 8080)' -w fortio.cap • 压测工具 • fortio load -qps 30000 码力 | 30 页 | 2.67 MB | 1 年前3
SolarMesh 基于Istio构建的流量监管平台Copyright © 2021 Cloud To Go 应用场景 - 灰度版本迁移 传统的版本升级方式 使用solarmesh的版本升级方式 1. 打好部署包 2. 等到半夜 3. 部署一个机器 4. 使用模拟的测试数据测试 1. 打好部署包即可部署 2. 用真实的数据测试 3. 挑个良辰吉日分配流量,宣布更新 Copyright © 2021 Cloud To Go 应用场景 - 异地容灾0 码力 | 20 页 | 1.29 MB | 1 年前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量时填充的 key:value 键值对,用于 l7 filter 的处理逻辑中 ● Mutation:L7 filter 填充的 key:value 键值对,用于 encode 时修改请求数据包 #IstioCon MetaProtocol: 响应处理路径 处理流程: 1. Decoder 解析 Upstream 的响应,填充 Metadata 2. Router 根据 connection/stream 时填充的 key:value 键值对,用于 l7 filter 的处理逻辑中 ● Mutation:L7 filter 填充的 key:value 键值对,用于 encode 时修改响应数据包 #IstioCon MetaProtocol:流量管理示例(Canary + Header Mutation) ● 路由规则协议无关:七层协议名是路由规则中的字段值,而不是字段名称 ● 采用通用的0 码力 | 29 页 | 2.11 MB | 1 年前3
共 3 条
- 1













