Istio as an API GatewayIstio As An API Gateway Discussion Flow ● What is an API Gateway? ● What is a Service Mesh? ● Common Features ● API Gateway + Service Mesh together! ● Istio as the API Gateway ● Advantages ● ● Challenges ● Where It Isn’t a Good Fit? What is an API Gateway? What is a Service Mesh? Common Features Common Features ● Load Balancing ● Request Routing ● Service Discovery ● JWT Authentication Logging, Monitoring, Tracing API Gateway + Service Mesh together! Limitations of This Approach ● Maintaining Two Tools ● Maintaining Two Expert Pools Istio as the API Gateway Advantages Advantages0 码力 | 27 页 | 1.11 MB | 1 年前3
Leveraging Istio for Creating API Tests - Low Effort API Testing for MicroservicesCreating API Tests Low Effort API Testing for Microservices | CONFIDENTIAL • What has changed? – Migration to microservices triggering need for extensive API tests • Problem: – Creating API tests • What is our solution? – Leverage Istio sidecar to listen to API traffic data and create tests from the data – 10x speed in creating API tests • Can also be sped up by just navigating the application Significantly reduced time and cost for API testing for microservices architectures with Istio – Fewer failures higher up the test pyramid as a result of improved API tests • Istio benefits – Venky / Prasad0 码力 | 21 页 | 1.09 MB | 1 年前3
Extending service mesh capabilities using a streamlined way based on WASM and ORASFilter Chain Listener Downstre am Filter Filter Filter Cluster Upstrea m Filter Chain 扩展自定义Filter, 并通过xDS API动态配置 L4 Network Filters L7 Http Filters 3 Listener & Filters before outbound services Listener https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/http_fi lters ○ …. ● 自定义开发: ○ 静态预编译: ■ 将其他过滤器集成到Envoy的源代码中,并编译新的Envoy版本。 ■ 这种方法的缺点是您需要维护Envoy版本,并不断使其与官方发行版保持同步。 ■ 此外,由于 以选择实现过滤器的编程语言。 ○ 可靠性和隔离性:过滤器会被部署到VM沙箱中,因此与Envoy进程本身是隔离的;即使 当WASM Filter出现问题导致崩溃时,它也不会影响Envoy进程。 ○ 安全性:过滤器通过预定义API与Envoy代理进行通信,因此它们可以访问并只能修改有 限数量的连接或请求属性。 ● Cons ○ 性能约为C++编写的原生静态编译的Filter的70%; ○ 由于需要启动一个或多个WASM虚拟机,因此会消耗一定的内存使用量;0 码力 | 23 页 | 2.67 MB | 1 年前3
SolarMesh 基于Istio构建的流量监管平台SolarMesh Copyright © 2021 Cloud To Go •轻量 核心组件少安装简单,轻量的架构赋予SolarMesh极低的资源占用以及极低的维护成本 •规范 标准的istio规范操作,实时反映真实集群状态,告别terminal。 •便捷 一键安装,UI操作,流量策略模板复用,批量设置 •多集群支持,零成本接入 流量视图提供统一的拓扑图界面,让您的视角可以统揽全局 Copyright © 2021 Cloud To Go 1. Istio的直连模式,在sidecar故障时提供秒级的直连流量切换 2. 多集群统一纳管,为流量运维提供上帝视角 3. 可视化、规范化Istio操作,告别terminal 4. 反应集群真实情况,流量可视化监控 5. 为istio核心组件提供监控能力 6. 服务质量(SLO)检测能力 7. 一键部署分布式链路追踪组件jaeger0 码力 | 20 页 | 1.29 MB | 1 年前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量Pilot Envoy Code changes at the Pilot side: ● Add AwesomeRPC support in VirtualService API ● Generate LDS/RDS for Envoy Filter AwesomeRPC Filter ● Decoding/Encoding ● Routing ● Load balancing #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 1. 在 dubbo: application 配置中为 Provider 增加 service_group 自定义属性 2. 通过 Provider 的 deployment 设置 SERVICE_GROUP 环境变量 3. 在 consumer 发起调用时设置 batchJob header 4. 设置相应的 #IstioCon Aeraki Demo: 地域感知负载均衡(Dubbo) 1. 在 dubbo: application 配置中为 Provider 增加 aeraki_meata_locality 自定义属性 2. 在 provider 的 deployment 中通过环境变量设置其所属地域 3. 在 consumer 的 deployment 中通过 label 声明其所处的 region 和 zone0 码力 | 29 页 | 2.11 MB | 1 年前3
Istio + MOSN 在 Dubbo 场景下的探索之路Protocol)提供了一套用于订阅、推送的 API。 分为 Source 和 Sink: • Source 是资源提供方(server),资源变化了推送给订阅者(Pilot),Istio 1.5 之前这个 角色就是 Galley 或者自定义 MCP Server; • Sink 资源的订阅者(client),在 Istio1.5 之前这个角色就是 Pilot 和 Mixer,都是订阅 Galley 或者自定义 MCP Server 根据变化的资源类型整理本地数据 • 根据变化的资源类型判断需要下发的 xDS资源 • 构建 xDS 资源,下发到连接的 Sidecar10/23 xDS Sidecar 通过动态获取服务信息,对服务的发现 API 被称为 xDS。 • 协议部分(ADS、控制发送的顺序以及返回的确认数据) • 数据部分(CDS、EDS、LDS、RDS、SDS)11/23 资源变化 资源名称 CDS EDS LDS RDS 多协议、模块化、智能化、安全的代理能力。MOSN 是 Modular Open Smart Network 的简称。 MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡, API Gateway,云原生 Ingress 等使用。 配置文件 • mosn_config : MOSN 的配置信息 • listener : LDS0 码力 | 25 页 | 3.71 MB | 6 月前3
Kubernetes容器应用基于Istio的灰度发布实践DiscoveryServe r clientset Envoy Envoy KubeApiServ er List/Watc h 1. Controller实现ServcieDiscovery 若干服务发现的接口定义 2. Controller List/Watch KubeAPIserver上service、 endpoint等资源对象 3. DiscvoeryServer使用 ServcieDiscovery接口上的服务发 svcB svcA Rules API Pilot 80% Istio 灰度发布:基于请求内容 Version2 Envoy SVC Envoy SVC Pod1 Pod2 Pod3 Envoy SVC Pod1 Pod2 Version1(canary) group=dev svcB svcA Rules API Pilot apiVersion: 在Google:microservices become API Apigee API Management complements Istio with the robust features of Google Cloud's Apigee API management platform, Apigee Edge, by extending API management natively into0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践DiscoveryServe r clientset Envoy Envoy KubeApiServ er List/Watc h 1. Controller实现ServcieDiscovery 若干服务发现的接口定义 2. Controller List/Watch KubeAPIserver上service、 endpoint等资源对象 3. DiscvoeryServer使用 ServcieDiscovery接口上的服务发 svcB svcA Rules API Pilot 80%23 Istio 灰度发布:基于请求内容 Version2 Envoy SVC Envoy SVC Pod1 Pod2 Pod3 Envoy SVC Pod1 Pod2 Version1(canary) group=dev svcB svcA Rules API Pilot apiVersion:0 码力 | 34 页 | 2.64 MB | 6 月前3
Istio 在 Free Wheel 微服务中的实践Istio的架构和基本原理 • FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点 FreeWheel的Istio实践 • 在FreeWheel,我们已经有一套复杂的自定义认证、授权机制,为了 充分利用Istio,我们通过扩展Istio来整合这些系统,涉及两方面: • 扩展Sidecar:加入认证支持,提供了对业务系统的认证支持,将用 户相关信息以header的 FreeWheel的Istio实践 • 右图为接入FreeWheel自定义认证和 授权模块的原理图 扩展Sidecar接入认证 • 修改 istio-system/istio-sidecar- injector 这个ConfigMap,加入自定 义反向代理 FreeWheel的Istio实践 • 通过在Sidecar中增加FreeWheel自定义认证支持,下游可以充分利用 Istio提供的授权、限流 与handler关联起来,其实就是做了流 量的匹配,满足一定条件的流量上应用 mymock handler • mymock adapter直接拒绝被匹配的请 求 扩展Mixer接入授权 定义Handler Spec 扩展Mixer接入授权 实现Handler接口 扩展Mixer接入授权 实现Handler接口 扩展Mixer接入授权 注册Handler 扩展Mixer接入授权0 码力 | 31 页 | 4.21 MB | 1 年前3
13 Istio 流量管理原理与协议扩展 赵化冰Consul、Eureka 等其他服务注册表:MCP over xDS (https://github.com/istio-ecosystem/consul-mcp) v 通过CRD定义的服务数据 q 自定义流量规则(如何将请求路由到这些服务?) v 通过CRD定义的流量规则 服务数据 流量规则 3 Istio 流量管理 – 控制面 – 服务发现 • K8s Service : Pilot 直接支持 • ServiceEntry: Istio 流量管理 – 控制面 – 流量管理模型 Gateway Virtual Service Destination Rule 外部请求 内部客户端 Service2 Service1 网格内部 定义网格入口 • 服务端口 • Host • TLS 配置 • 路由配置 • 根据 Host 路由 • 根据 Header • 根据 URI 路由 目的地流量策略配置 • LB 策略 • 连接池配置 •0 码力 | 20 页 | 11.31 MB | 6 月前3
共 29 条
- 1
- 2
- 3













