Istio 在 Free Wheel 微服务中的实践逻辑用Golang重写,引入了Kubernetes。随着模块越来越多,复杂 的通信带来矛盾日渐突出:流量管理、监控… 最初的尝试:Gateway • 如右图,最初我们尝试用一个自研的 简单Gateway来提供统一的认证、授 权、限流、监控,但问题很快凸显出 来了: • Gateway是一个中心化的反向代 理,成为了微服务中的瓶颈,模 块流量会互相影响 • 大锅饭带来了复杂的配置管理, 渐渐难以为继 • Istio的架构和基本原理 • FreeWheel的痛点 FreeWheel的Istio实践 • 在FreeWheel,我们已经有一套复杂的自定义认证、授权机制,为了 充分利用Istio,我们通过扩展Istio来整合这些系统,涉及两方面: • 扩展Sidecar:加入认证支持,提供了对业务系统的认证支持,将用 户相关信息以header的形式传入mesh,后续的授权、监控、限流 都可以用Istio原生的机制来完成 • FreeWheel的Istio实践 • 右图为接入FreeWheel自定义认证和 授权模块的原理图 扩展Sidecar接入认证 • 修改 istio-system/istio-sidecar- injector 这个ConfigMap,加入自定 义反向代理 FreeWheel的Istio实践 • 通过在Sidecar中增加FreeWheel自定义认证支持,下游可以充分利用 Istio提供的授权、限流、监0 码力 | 31 页 | 4.21 MB | 1 年前3
Envoy原理介绍及线上问题踩坑Huawei Technologies Co., Ltd. All rights reserved. Page 5 Envoy介绍 • Envoy采用C++实现,本身为四层及七层代理,可以根据用户应用请求内的数据进行高级服务治理 能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、 完整的可观测性等。 • 目前常见数据面主要有三种:Envoy、Linker 当连接准备好后对下游请求使用codec进行HTTP编码,并发送到上游连接的L4层网络过滤器。 • 上游连接的L4层网络过滤器使用metadata_exchange传输本Envoy内保存的与调用APP相关的元数据信息,包括POD名称、用户空间、cluster_id等信息。之 后将待发送请求通过Socket发送到网络,经过iptables时判断发送者为Envoy则不再拦截。 Copyright © Huawei Technologies 策略化的智能路由与弹性流量管理 无侵入智能流量管理: 权重、内容等路由规则,实现应用灵活灰度发布 HTTP会话保持,满足业务处理持续性诉求 限流、熔断,实现服务间链路稳定、可靠 服务安全认证:认证、鉴权、审计等,提供服务 安全保障基石 实时流量健康 度检测 路由策略管理 • 图形化应用全景拓扑,流量治理可视化 CCE(云容器引擎) ISTIO服务网格 应用性能监控服务(APM) 实时流量可视化0 码力 | 30 页 | 2.67 MB | 1 年前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量Interface/Method 的服务访问 控制 #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 场景:隔离处理用户请求和批处理任务的服务实例,为用户请求留出足够的处理能 力,避免批处理任务的压力影响到用户体验。 ● 将服务端划分为两个服务实例组,分别用于处理批处理任务和用户请 求。 ● 客户端发起请求时通过一个“batchjob” header标明请求的来源 ,batchjob=true表示该请求来自于批处理任务;batchjob=false表示该 请求来自于用户请求。 ● 运维人员设置请求路由规则,将不同来源的请求路由到不同的服务实例 组进行处理。 #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 1. 在 dubbo: application 配置中为 Provider 增加 service_group 自定义属性 服务生成数据面所需的 Filter 配置 ,Filter 配置中将 RDS 指向 Aeraki 3. Istio 下发 LDS(Patch)/CDS/EDS 给 Envoy 4. Aeraki 根据缺省路由或者用户设置的路由规则下发 RDS 给 Envoy 1 2 3 4 #IstioCon MetaProtocol:数据面 ● MetaProtocol Proxy 中实现七层协议的通用逻辑:路由、Header0 码力 | 29 页 | 2.11 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功能 扩展 Istio总体架构 Istio & Kubernetes:架构结合 Envoy SVC Pod Node Envoy SVC Pod Node Envoy SVC Pod list/watch (Service, Endpoints, Pod) 用户 Istio & Kubernetes:统一服务发现 Pilot ServiceController( Kube) DiscoveryServe r clientset Envoy Envoy List/Watch KubeAPIserver上service、 endpoint等资源对象 3. DiscvoeryServer使用 ServcieDiscovery接口上的服务发 现方法和用户配置的规则构造xDS 4. Envoy从Discovery获取xDS,动态 更新 Kubernetes Service Instance Instance Service Endpoint0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功 能 扩 展11 Istio总体架构12 Istio Envoy SVC Pod Node Envoy SVC Pod Node Envoy SVC Pod list/watch (Service, Endpoints, Pod) 用户13 Istio & Kubernetes:统一服务发现 Pilot ServiceController( Kube) DiscoveryServe r clientset Envoy Envoy List/Watch KubeAPIserver上service、 endpoint等资源对象 3. DiscvoeryServer使用 ServcieDiscovery接口上的服务发 现方法和用户配置的规则构造xDS 4. Envoy从Discovery获取xDS,动态 更新 Kubernet es Service Instance Instance Service Endpoint0 码力 | 34 页 | 2.64 MB | 6 月前3
Extending service mesh capabilities using a streamlined way based on WASM and ORAS该configmap存放要拉取的wasm filter 的地址, 例如: acree-1-registry.cn-hangzhou.cr.aliyuncs.com/asm/sample:v0.1 ○ 如果需要授权认证, 该asmwasm-controller会根据定义的pullSecret值获得相应的 secret值; ○ 然后,调用oras API从注册库中动态拉取wasm filter; ○ 该asmw0 码力 | 23 页 | 2.67 MB | 1 年前3
13 Istio 流量管理原理与协议扩展 赵化冰可以无需关注分布式架构带来的通信相关问题,而专注于其业务价值。 流量控制:服务发现、请求路由、负载均衡、灰度发布、错误重试、 断路器、故障注入 可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS •0 码力 | 20 页 | 11.31 MB | 6 月前3
Service Mesh in ChinaService Mesh Industry in China 现状 • 主要云厂商都已基于 Istio 构建了 Service Mesh 产品 • 但是缺乏迁移到 Service Mesh 上的用户案例及完整路径 • Service Mesh 人才存在缺口 #IstioCon 云原生社区 云原生社区管委会成员 https://cloudnaitve.to #IstioCon 云原生社区 Mesh Meetup 会融入云原生社区 meetup 继续举办下去 • ServiceMesher 社区中的 Istio 开发者和用户加入云原生社区 Istio SIG 申请加入 Istio SIG 云原生社区公众号 #IstioCon Next 用户案例 Istio 文档维护 Istio 实践与培训 https://academy.tetrate.io/ https://istio0 码力 | 13 页 | 2.66 MB | 1 年前3
探讨和实践基于Istio的微服务治理事件监控• 服务之间依赖呈现为线型 • 日志、性能指标需要集中化 存储 基于主机的监控场景 • 应用规模较小 • 服务之间没有互相依赖 • 日志、性能指标都在单个主 机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合 • 体现系统性能趋势 分布式追踪 • 和请求相关 • HTTP0 码力 | 29 页 | 8.37 MB | 6 月前3
Istio 与 Knative 踩坑实录展望-推动组织变革 FAAS 实践进展24/25 总结 FAAS 实践进展 • 深入掌握后可谨慎使用 • 可能颠覆组织和职能的运作方式,推进需要技巧 • 目前社区尚小,亟需扩大开发者群体和用户群感谢聆听 酷家乐技术博客 我的微信0 码力 | 26 页 | 1.35 MB | 6 月前3
共 11 条
- 1
- 2













