 Istio-redirector: the way
to go to manage
thousands of HTTP
redirections#IstioCon Istio-redirector: the way to go to manage thousands of HTTP redirections Etienne Fontaine (@etifontaine) #IstioCon Istio-redirector 301-redirection from /bus/routes/bruxelles/lille [...] spec: gateways: - istio-system/istio-ingressgateway hosts: - www.blablacar.fr http: - match: - uri: exact: /co2 redirect: uri: /blablalife/lp/zeroemptyseats0 码力 | 13 页 | 1.07 MB | 1 年前3 Istio-redirector: the way
to go to manage
thousands of HTTP
redirections#IstioCon Istio-redirector: the way to go to manage thousands of HTTP redirections Etienne Fontaine (@etifontaine) #IstioCon Istio-redirector 301-redirection from /bus/routes/bruxelles/lille [...] spec: gateways: - istio-system/istio-ingressgateway hosts: - www.blablacar.fr http: - match: - uri: exact: /co2 redirect: uri: /blablalife/lp/zeroemptyseats0 码力 | 13 页 | 1.07 MB | 1 年前3
 Envoy原理介绍及线上问题踩坑erd、Traefic。Envoy由于高性能和扩展能力前在数据面遥 遥领先。 • Iptables使Pod间出入应用的流量均由Envoy代理,对应用来说完全透明。支持主要常用网路协议 Http1/Http2/Tls/gRPC/Tcp等。 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 6 Envoy原理及总体架构-启动 数据面通信 • 客户端请求进入容器网络,并被iptables规则拦截,经过DNAT后进入Envoy virtualOutbound监听器 • virtualOutbound经过监听过滤器恢复用于原始目标服务,并找到后端处理器处理新连接。 • 后端处理器在配置中指定处理协议,根据协议相关的网络过滤器处理读取到的数据。 • 如果为http协议,再经过请求过滤器处理http协议头部,如路由选择等功能并创建上游连接池 等功能并创建上游连接池 • 将修改及编码后的http消息通过网络发送到对端Envoy的容器网络。 • Iptables识别为入流量则进入virtualInbound端口。 • ORIGINAL_DST恢复原始目标后,根据virtualInbound配置的监听过滤器找到对应的本地服务器地址。并发起localhost的请求。 • 请求进入本地服务器内进行处理并返回响应。 Copyright ©0 码力 | 30 页 | 2.67 MB | 1 年前3 Envoy原理介绍及线上问题踩坑erd、Traefic。Envoy由于高性能和扩展能力前在数据面遥 遥领先。 • Iptables使Pod间出入应用的流量均由Envoy代理,对应用来说完全透明。支持主要常用网路协议 Http1/Http2/Tls/gRPC/Tcp等。 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 6 Envoy原理及总体架构-启动 数据面通信 • 客户端请求进入容器网络,并被iptables规则拦截,经过DNAT后进入Envoy virtualOutbound监听器 • virtualOutbound经过监听过滤器恢复用于原始目标服务,并找到后端处理器处理新连接。 • 后端处理器在配置中指定处理协议,根据协议相关的网络过滤器处理读取到的数据。 • 如果为http协议,再经过请求过滤器处理http协议头部,如路由选择等功能并创建上游连接池 等功能并创建上游连接池 • 将修改及编码后的http消息通过网络发送到对端Envoy的容器网络。 • Iptables识别为入流量则进入virtualInbound端口。 • ORIGINAL_DST恢复原始目标后,根据virtualInbound配置的监听过滤器找到对应的本地服务器地址。并发起localhost的请求。 • 请求进入本地服务器内进行处理并返回响应。 Copyright ©0 码力 | 30 页 | 2.67 MB | 1 年前3
 13 Istio 流量管理原理与协议扩展 赵化冰-mcp 欢迎大家试用、共建! 4 Istio 流量管理 – 控制面 – 流量管理模型 Gateway Virtual Service Destination Rule 外部请求 内部客户端 Service2 Service1 网格内部 定义网格入口 • 服务端口 • Host • TLS 配置 • 路由配置 • 根据 Host 路由 • 根据 Header • 根据 URI 路由 目的地流量策略配置 Upstream: 上游 Host 接收来自 Envoy 的连接和请求,并返回响应。 • Listener:监听器是命名网地址(可以是TCP socket 或者 Unix domain socket),可以被 下游客户端连接。在 Envoy 中,Listener 可以绑定到端口上直接对外服务,也可以不绑 定到端口上,而是接收其他 listener 转发的请求。 • Cluster:集群是指 Envoy 连接的一组上 的基础上增加了 VirtualInboundListener,VirtualOutboundListener、OutboundCluster、InboundCluster 等 概念。 为何按端口对 HTTP 的处理进行聚合,而不是为每一个服务创建一个 Listener? • 降低 Listener 数量和配置大小,减少资源占用 • 兼容 headless 和虚机服务,避免 Listener 配置频繁更新0 码力 | 20 页 | 11.31 MB | 6 月前3 13 Istio 流量管理原理与协议扩展 赵化冰-mcp 欢迎大家试用、共建! 4 Istio 流量管理 – 控制面 – 流量管理模型 Gateway Virtual Service Destination Rule 外部请求 内部客户端 Service2 Service1 网格内部 定义网格入口 • 服务端口 • Host • TLS 配置 • 路由配置 • 根据 Host 路由 • 根据 Header • 根据 URI 路由 目的地流量策略配置 Upstream: 上游 Host 接收来自 Envoy 的连接和请求,并返回响应。 • Listener:监听器是命名网地址(可以是TCP socket 或者 Unix domain socket),可以被 下游客户端连接。在 Envoy 中,Listener 可以绑定到端口上直接对外服务,也可以不绑 定到端口上,而是接收其他 listener 转发的请求。 • Cluster:集群是指 Envoy 连接的一组上 的基础上增加了 VirtualInboundListener,VirtualOutboundListener、OutboundCluster、InboundCluster 等 概念。 为何按端口对 HTTP 的处理进行聚合,而不是为每一个服务创建一个 Listener? • 降低 Listener 数量和配置大小,减少资源占用 • 兼容 headless 和虚机服务,避免 Listener 配置频繁更新0 码力 | 20 页 | 11.31 MB | 6 月前3
 探讨和实践基于Istio的微服务治理事件监控机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合 • 体现系统性能趋势 分布式追踪 • 和请求相关 • HTTP • SQL 日志系统 • 代码逻辑处理事件 • 异常、debug信息容器化和微服务下的监控需求 微观下的监控需求 快速错误追踪 可快速排查在性能测试场景下的 慢方法、异常调用以及异常报文 可细粒度排查应用单次链路调用 的包括日志、网络数据在内的所 有信息。 宏观下的监控需求 链路总体展示 展示整个服务调用过程中链路上 每一个节点的服务状况,包括延 时、吞吐量等基本信息。 服务器总体展示 展示当前所有服务器的运行状况, 包括CPU、内存、网络、I/O读写 等信息 业务总体展示 展示当前业务相关数据的 从宏观上快速定位问题,在微观上找到问题根因的 监控方案问题二:现有的系统能否完全满足需求 /usr/bin/eventadapter ENTRYPOINT ['./eventadapter']基于Mixer的二次开发的流程 Deployment配置 Service配置SOFAStack公众号 http://www.servicemesher.com ServiceMesher公众号0 码力 | 29 页 | 8.37 MB | 6 月前3 探讨和实践基于Istio的微服务治理事件监控机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合 • 体现系统性能趋势 分布式追踪 • 和请求相关 • HTTP • SQL 日志系统 • 代码逻辑处理事件 • 异常、debug信息容器化和微服务下的监控需求 微观下的监控需求 快速错误追踪 可快速排查在性能测试场景下的 慢方法、异常调用以及异常报文 可细粒度排查应用单次链路调用 的包括日志、网络数据在内的所 有信息。 宏观下的监控需求 链路总体展示 展示整个服务调用过程中链路上 每一个节点的服务状况,包括延 时、吞吐量等基本信息。 服务器总体展示 展示当前所有服务器的运行状况, 包括CPU、内存、网络、I/O读写 等信息 业务总体展示 展示当前业务相关数据的 从宏观上快速定位问题,在微观上找到问题根因的 监控方案问题二:现有的系统能否完全满足需求 /usr/bin/eventadapter ENTRYPOINT ['./eventadapter']基于Mixer的二次开发的流程 Deployment配置 Service配置SOFAStack公众号 http://www.servicemesher.com ServiceMesher公众号0 码力 | 29 页 | 8.37 MB | 6 月前3
 全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量NoSQL We need to manage multiple types of layer-7 traffic in a service mesh, not just HTTP and gRPC ● RPC:HTTP, gRPC, Thrift, Dubbo, Proprietary RPC Protocol … ● Messaging: Kafka, RabbitMQ … ● Cache: requet level ○ HTTP host/header/url/method, ○ Thrift service name/method name ○ Dubbo Interface/method/attachment ○ ... ● Fault Injection with application layer error codes ○ HTTP status code ○ ○ ... ● Observability with application layer metrics ○ HTTP status code ○ Thrift request latency ○ ... ● Application layer security ○ HTTP JWT Auth ○ Redis Auth ○ ... IP Data IP Header TCP0 码力 | 29 页 | 2.11 MB | 1 年前3 全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量NoSQL We need to manage multiple types of layer-7 traffic in a service mesh, not just HTTP and gRPC ● RPC:HTTP, gRPC, Thrift, Dubbo, Proprietary RPC Protocol … ● Messaging: Kafka, RabbitMQ … ● Cache: requet level ○ HTTP host/header/url/method, ○ Thrift service name/method name ○ Dubbo Interface/method/attachment ○ ... ● Fault Injection with application layer error codes ○ HTTP status code ○ ○ ... ● Observability with application layer metrics ○ HTTP status code ○ Thrift request latency ○ ... ● Application layer security ○ HTTP JWT Auth ○ Redis Auth ○ ... IP Data IP Header TCP0 码力 | 29 页 | 2.11 MB | 1 年前3
 Istio 在 Free Wheel 微服务中的实践中的部署变化再快, 也不会阻塞Istio • Istio其他配置管理没有防抖动处理( VirtualService/DestinationRule等),如果用程序自动化注入这些 配置要注意在客户端实现限流 • Istio的配置管理缺少兼容性设计,CRD无法做到平滑升级 • Istio的架构和基本原理 • FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点0 码力 | 31 页 | 4.21 MB | 1 年前3 Istio 在 Free Wheel 微服务中的实践中的部署变化再快, 也不会阻塞Istio • Istio其他配置管理没有防抖动处理( VirtualService/DestinationRule等),如果用程序自动化注入这些 配置要注意在客户端实现限流 • Istio的配置管理缺少兼容性设计,CRD无法做到平滑升级 • Istio的架构和基本原理 • FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点0 码力 | 31 页 | 4.21 MB | 1 年前3
 Istio audit report - ADA Logics - 2023-01-30 - v1.0NewHandler in an http.MaxBytesHandler.” John found that when the recommended MaxBytesHandler was used, the request body was not fully consumed, meaning that when a server attempts to read HTTP2 frames from from the connection it will instead be reading the body. As such, the MaxBytesHandler introduces an http request smuggling attack vector. The issue was disclosed to the Golang security team who fixed the slice controlled by potentially untrusted file size Low High Yes 5 Possible memory exhaustions in http utilities Low Medium Yes 6 Istio skips certificate verification Low High Yes 7 Unhandled errors0 码力 | 55 页 | 703.94 KB | 1 年前3 Istio audit report - ADA Logics - 2023-01-30 - v1.0NewHandler in an http.MaxBytesHandler.” John found that when the recommended MaxBytesHandler was used, the request body was not fully consumed, meaning that when a server attempts to read HTTP2 frames from from the connection it will instead be reading the body. As such, the MaxBytesHandler introduces an http request smuggling attack vector. The issue was disclosed to the Golang security team who fixed the slice controlled by potentially untrusted file size Low High Yes 5 Possible memory exhaustions in http utilities Low Medium Yes 6 Istio skips certificate verification Low High Yes 7 Unhandled errors0 码力 | 55 页 | 703.94 KB | 1 年前3
 Secure your microservices with istio step by stepistio sidecar ( kubectl label namespace default istio-injection=disabled/enabled ) http http http http http http http Result: can access reviews-v1, reviews-v2 and reviews-v3 Access productpage peer-authentication to enable server side mTLS mTLS in Istio - PeerAuthenticati on mTLS http http http http mTLS http #IstioCon Auto-mTLS in Istio ● Decide what type of traffic the client sidecar to productpage 1) Apply destination rule enable client side mTLS mTLS in Istio - Destination rule http http http http mTLS mTLS #IstioCon mTLS in Istio - DestinationRule Defines what type of traffic the0 码力 | 34 页 | 67.93 MB | 1 年前3 Secure your microservices with istio step by stepistio sidecar ( kubectl label namespace default istio-injection=disabled/enabled ) http http http http http http http Result: can access reviews-v1, reviews-v2 and reviews-v3 Access productpage peer-authentication to enable server side mTLS mTLS in Istio - PeerAuthenticati on mTLS http http http http mTLS http #IstioCon Auto-mTLS in Istio ● Decide what type of traffic the client sidecar to productpage 1) Apply destination rule enable client side mTLS mTLS in Istio - Destination rule http http http http mTLS mTLS #IstioCon mTLS in Istio - DestinationRule Defines what type of traffic the0 码力 | 34 页 | 67.93 MB | 1 年前3
 Is Your Virtual Machine Really Ready-to-go with Istio?Today 1. DNS query httpbin.ns1.svc.cluster.local 2. DNS response – 10.4.4.4 http req to 10.4.4.4 GET /status/200 http req to 172.16.1.3 GET /status/200 httpbin.ns1.svc.cluster.local SVC IP: 10.4 name servers. Envoy does not use the agent’s DNS cache. http req to 10.4.4.4 GET /status/200 httpbin.ns1.svc.cluster.local SVC IP: 10.4.4.4 http req to 172.16.1.3 GET /status/200 #IstioCon V1.8 Smart Performance Limitations: Solutions ● Software techniques ○ (eBPF-based) TCP/IP stack bypass ○ HTTP/3 & QUIC ● Hardware acceleration technologies ○ SRIOV/DPDK ○ Networking/Security offloading ●0 码力 | 50 页 | 2.19 MB | 1 年前3 Is Your Virtual Machine Really Ready-to-go with Istio?Today 1. DNS query httpbin.ns1.svc.cluster.local 2. DNS response – 10.4.4.4 http req to 10.4.4.4 GET /status/200 http req to 172.16.1.3 GET /status/200 httpbin.ns1.svc.cluster.local SVC IP: 10.4 name servers. Envoy does not use the agent’s DNS cache. http req to 10.4.4.4 GET /status/200 httpbin.ns1.svc.cluster.local SVC IP: 10.4.4.4 http req to 172.16.1.3 GET /status/200 #IstioCon V1.8 Smart Performance Limitations: Solutions ● Software techniques ○ (eBPF-based) TCP/IP stack bypass ○ HTTP/3 & QUIC ● Hardware acceleration technologies ○ SRIOV/DPDK ○ Networking/Security offloading ●0 码力 | 50 页 | 2.19 MB | 1 年前3
 Preserve Original Source
Address within IstioOriginal Address Preserve Background Demo 1. HTTP Original Address Preserve #IstioCon Content 1. TCP Original Address Preserve Background Demo 1. HTTP Original Address Preserve #IstioCon What is transparent mode, two connections  L4 • Add IP in TCP Protocol options • Proxy Protocol  L7 • HTTP header “x-forwarded-for” • User Protocol #IstioCon LVS ① user send traffic to LVS ② PREROUTING per-connection basis which of the two versions is present. - Proxy Protocol Transport Socket #IstioCon HTTP XFF x-forwarded-for (XFF) is a standard proxy header which indicates the IP addresses that a request0 码力 | 29 页 | 713.08 KB | 1 年前3 Preserve Original Source
Address within IstioOriginal Address Preserve Background Demo 1. HTTP Original Address Preserve #IstioCon Content 1. TCP Original Address Preserve Background Demo 1. HTTP Original Address Preserve #IstioCon What is transparent mode, two connections  L4 • Add IP in TCP Protocol options • Proxy Protocol  L7 • HTTP header “x-forwarded-for” • User Protocol #IstioCon LVS ① user send traffic to LVS ② PREROUTING per-connection basis which of the two versions is present. - Proxy Protocol Transport Socket #IstioCon HTTP XFF x-forwarded-for (XFF) is a standard proxy header which indicates the IP addresses that a request0 码力 | 29 页 | 713.08 KB | 1 年前3
共 29 条
- 1
- 2
- 3













