13 Istio 流量管理原理与协议扩展 赵化冰v 通过CRD定义的流量规则 服务数据 流量规则 3 Istio 流量管理 – 控制面 – 服务发现 • K8s Service : Pilot 直接支持 • ServiceEntry: 手动添加 Service 到 Pilot 内部注册表中 • WorkloadEntry:单独添加 Workload,对于虚机支持更友好 • MCP 适配器: 将第三方注册表中的服务加入到 Pilot 中 等 概念。 为何按端口对 HTTP 的处理进行聚合,而不是为每一个服务创建一个 Listener? • 降低 Listener 数量和配置大小,减少资源占用 • 兼容 headless 和虚机服务,避免 Listener 配置频繁更新 • 采用七层 header 进行路由,请求原始目的 IP 不应影响路由结果 入向请求配置 出向请求配置 0.0.0.0_9080 0.0.0.0_15001 0.00 码力 | 20 页 | 11.31 MB | 6 月前3
Envoy原理介绍及线上问题踩坑。 • 后端处理器在配置中指定处理协议,根据协议相关的网络过滤器处理读取到的数据。 • 如果为http协议,再经过请求过滤器处理http协议头部,如路由选择等功能并创建上游连接池 • 将修改及编码后的http消息通过网络发送到对端Envoy的容器网络。 • Iptables识别为入流量则进入virtualInbound端口。 • ORIGINAL_DST恢复原始目标后,根据virtual • decodeData处理HTTP请求数据 • decodeTrailers处理HTTP请求结束位置 • encodeHeaders发送请求前编码头部 • encodeData发送请求前编码数据 • encodeTrailers消息发送前编码处理 • 过滤器中可以获取连接对象并直接发送响应数据,同时可以返回StopIteration结束过滤器迭代。 • 实际使用过滤器根据Envoy静 的目标POD地址,并创建此目标地址的连接池。 • 根据连接池配置的最大可用连接数及允许的最大等待连接数等信息将下游请求与上游连接进行关联。 • 当连接准备好后对下游请求使用codec进行HTTP编码,并发送到上游连接的L4层网络过滤器。 • 上游连接的L4层网络过滤器使用metadata_exchange传输本Envoy内保存的与调用APP相关的元数据信息,包括POD名称、用户空间、cluster_id等信息。之0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio + MOSN 在 Dubbo 场景下的探索之路对接配置中心 • 连接多个集群 • 根据服务的信息结合配置信息下发对应的集群的资源22/23 多点Service Mesh改造架构图23/23 Demo 演示 说明 • 由于没有真正的注册,所以使用手动添加 ServiceEntry 的方式代替 Adapter 功能 • Listener 和 Routers 配置信息目前是固定的 • Provider 只注册到本地 zk • Sidecar 注入到方式使用的是多个0 码力 | 25 页 | 3.71 MB | 6 月前3
Istio控制平面组件原理解析istio-certs • secret: • optional: true • secretName: istio.default证书过期 üroot-cert.pem 实际有效期1年,没有找到更新方式,手动更新? ücert-chain.pem 和 key.pem 实际有效期90天,程序控制有效期45天 ü证书过期会被重新生成并挂载到/etc/certs ü触发envoy热启动ü方案一: • 把0 码力 | 30 页 | 9.28 MB | 6 月前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量Interface/Method 的服务访问 控制 #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 场景:隔离处理用户请求和批处理任务的服务实例,为用户请求留出足够的处理能 力,避免批处理任务的压力影响到用户体验。 ● 将服务端划分为两个服务实例组,分别用于处理批处理任务和用户请 求。 ● 客户端发起请求时通过一个“batchjob” header标明请求的来源 ,batc0 码力 | 29 页 | 2.11 MB | 1 年前3
共 5 条
- 1













