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 2 个人介绍 张伟 华为云容器网格数据面技术专家 拥有10年以上中间件及高性能系统开发经验, 作为架构师及核心开发人员发布过传输网管系 统、Tuxedo交易中间件、ts-server多媒体转码服 务、GTS高性能事务云服务、SC高性能注册中心、 ASM数据面等多个产品。先后就职于亿阳信通、 Pilot-agent进程本身创建UDS接收Envoy连接,用于证书更新下发。并且与istiod建立证书更新通道。 • Envoy 通过pilot-agent转发机制与istiod建立长连接,通过xDS协议接收系统下发的监听器、路由、集群节点等更新信息。 • 3. 数据面通信 • 客户端请求进入容器网络,并被iptables规则拦截,经过DNAT后进入Envoy virtualOutbound监听器 • inbound方向:从二层网络设备进入POD内的 流量 • 增加ISTIO_INBOUND、 ISTIO_IN_REDIRECT链。 • 跳过15008、22、15090、15021、 15020系统服务外,其余都通过 REDIRECT(DNAT)保存原始目标地址 后,进入Envoy的15006端口。 Envoy在每个POD网络空间内设置用于拦截流量的iptables规则 Copyright0 码力 | 30 页 | 2.67 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功能 扩展 Istio总体架构 Istio & Kubernetes:架构结合0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功 能 扩 展11 Istio总体架构12 Istio0 码力 | 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
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量实现一个自定义协议时,只需要实现 Decode 和 Encode 扩展点的少量代码 (C++)。 ● 提供基于 WASM 和 Lua 的 L7 filter 扩展点,用户可以实现一些灵活的自定义协议处理逻辑,例如认证授权等。 #IstioCon MetaProtocol: 请求处理路径 处理流程: 1. Decoder 解析 Downstream 请求,填充 Metadata 2. L7 filter 从0 码力 | 29 页 | 2.11 MB | 1 年前3
13 Istio 流量管理原理与协议扩展 赵化冰可以无需关注分布式架构带来的通信相关问题,而专注于其业务价值。 流量控制:服务发现、请求路由、负载均衡、灰度发布、错误重试、 断路器、故障注入 可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS •0 码力 | 20 页 | 11.31 MB | 6 月前3
探讨和实践基于Istio的微服务治理事件监控机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合 • 体现系统性能趋势 分布式追踪 • 和请求相关 • HTTP • SQL 日志系统 • 代码逻辑处理事件 • 异常、debug信息容器化和微服务下的监控需求 微观下的监控需求 快速错误追踪 可快速排查在性能测试场景下的 慢方法、异常调用以及异常报文 包括CPU、内存、网络、I/O读写 等信息 业务总体展示 展示当前业务相关数据的 从宏观上快速定位问题,在微观上找到问题根因的 监控方案问题二:现有的系统能否完全满足需求 现有系统如何满足运维需求Istio现有的监控体系 指标监控 分布式追踪 日志系统Zipkin的架构图 Google Dapper Zipkin的实现EFK和Prometheus的架构图 DC1 DMZ Intranet0 码力 | 29 页 | 8.37 MB | 6 月前3
在网格的边缘试探:企业 Istio 试水指南Istio 不能做什么 • Istio 能做什么 • 现阶段 Istio 有什么问题 • 那Istio还用不用 • 如何安全的试用 Istio目标听众 • 我 • 乙方 • 给大型企业开发某某管理系统 • 系统资源好像没缺过 • 手上有各个时代的应用 • 没有能力/不想维护Istio源码 • 业务负载不算大Istio不能做什么 • 提高代码质量 • 增强负载能力 • 改善交付流程 • 客户充满 Love0 码力 | 19 页 | 11.41 MB | 6 月前3
百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu业务无需代码改动即可开启,在线调整backup超时 分位值、熔断阈值。 2. 支持动态调整配置参数,对接智能调参系统。 防雪崩能力:动态BackupRequest #IstioCon 未来 l 强化稳定性工程。(Case覆盖、故障自动恢复) l 实现现有能力整合。(Mesh作为基础层,完全有能力整合内部Trace系统、压测平台等) l 积极拥抱社区。(积极贡献Istio社区) l 探索新应用。 (机房扩建,流量染色分级等)0 码力 | 9 页 | 2.20 MB | 1 年前3
共 11 条
- 1
- 2













