Istio 与 Knative 踩坑实录酷家乐 Istio 与 Knative 踩坑实录 付铖 (花名:橙子) 酷家乐 技术专家1/25 从3D Mesh 到Service Mesh2/25 /01 /02 /03 实践进展 Istio的价值和问题 Knative的实践和瓶颈3/25 分享主题:字号 实践进展 /01 酷家乐在服务网格和FAAS方向上的实践进展汇总4/25 生产环境Istio稳定运行 酷家乐于2018年8月29日在国际站生产环 Istio 的价值和问题14/25 性能损耗 Istio 的价值和问题 每 pod 多占用内存 20 MB -8 毫秒 测试 API 平均响应时 间变化量 吞吐量提升 5 %15/25 Pilot、Mixer 性能瓶颈 Istio 的价值和问题16/25 总结 Istio 的价值和问题 • 已经可以稳定用在生产环境 • 工程架构收益 >> 性能资源损耗 • 根据组织和业务情况推广或改造,新旧体系可并存0 码力 | 26 页 | 1.35 MB | 6 月前3
13 Istio 流量管理原理与协议扩展 赵化冰Istio 流量管理原理与协议扩展 赵化冰 赵化冰 腾讯云 服务网格团队 https://zhaohuabing.com Service Mesh Service Mesh Layer 处理服务间通信(主要是七层通信)的云原生基础设施层: Service Mesh 将各个服务中原来使用 SDK 实现的七层通信相关功能抽象 出来,使用一个专用层次来实现,Service Mesh 对应用透明,因此应用0 码力 | 20 页 | 11.31 MB | 6 月前3
在网格的边缘试探:企业 Istio 试水指南• 访问控制和频率限制 • …Istio目前的突出问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布 1.0的情况似乎比较罕见。 • 发布进度和质量:大版本以月计算的发布延迟,据我所知的 Release撤回发生了两次。 • 世纪难题:多出一层Sidecar造成的延迟。 • Pilot的性能,近几个版本一直在出问题。 • Mixer按照我个人的看法,API较 可能出现什么故障? • 能有什么好处? • 个人看法 • 可观察性 • 路由 • 策略 • 安全试用服务范围 • 不要 All in! • 稳定——性能和业务! • 什么服务不怕死? • 什么服务可以慢? • 集群规模别太大。 • 能切换/回滚。 • 有完善的性能、功能测试方案。禁则 �������� ����� ����制定目标 • 集群环境申请:版本、开关、资源等。 • 功能性需求:本次试用中 根据功能需求,编写和部署 Istio相关功能YAML • 监控和告警部署 • 连接Alertmanager/… • 指标输出方案测试 • 根据性能和功能测试方案完成测试。 • 如果性能下滑,可以尝试扩张资源。 • 如果无法达成测试目标,建议取消——无侵入的好处就是可以撤 退。 • 评估关联服务的工作情况——尤其是重试、超时特性的应用切换演练 • 在测试版本和后备版本之间根据预案进行切换。0 码力 | 19 页 | 11.41 MB | 6 月前3
百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu技术方案 l 核心原则 Ø 务实、高稳定性、低迁移成本。 l 核心思路 Ø 先单跳,后双跳。 Ø 服务发现下沉到Envoy。 Ø 基于 RPC + 服务发现实现透明流量劫持。 Ø 自建配置中心,产品化封装。 l 关键技术 Ø 内核劫持,使用Loopback IP 与 服务发现一一对应。 Ø RPC劫持,构建可快速扩展标准方案。 Ø 自身稳定性,降级(兜底)、隔离、监控多种方式保证。 loopback地址的管理和分配。 Ø 需要打通业务和loopback之间的映射管 理。 RPC劫持:可扩展方案 Ø envoy启动后注册port到bns-agent。 Ø rpc框架查询bns-agent IP与治理策略数据。 Ø bns-agent判断否使用envoy进行服务治理。 Ø rpc框架根据反馈的IP,治理策略信息请求对 应IP,会cache数据,需要即时更新。 Ø envoy离线或者被干预则立即通知bns-agent, 数据面板:envoy组件,流量转发、负载均衡 等功能. #IstioCon 收益 主要介绍如下几个方面: l 稳定性方面 (单点,多点,防雪崩,长尾优化,架构故障韧性能力) l 治理效率方面 (提升一级模块建成效率,二级模块预案能力) l 周边生态方面 (流量复制,稳定性工程,动态调参, 服务可观测性) l 覆盖率方面 (百度APP100%核心模块,流量占比>79.5% ) #IstioCon0 码力 | 9 页 | 2.20 MB | 1 年前3
Istio 在 Free Wheel 微服务中的实践被匹配到的流量,右图是mymock Handler的基本原理 • mymock handler 是 mymock adapter的初始化配置 • 完成初始化后rule将checknothing配置 与handler关联起来,其实就是做了流 量的匹配,满足一定条件的流量上应用 mymock handler • mymock adapter直接拒绝被匹配的请 求 扩展Mixer接入授权 定义Handler 注册Handler 扩展Mixer接入授权 • Mixer会直接影响整个Mesh的稳定性,因此替换时要做到尽可能稳妥 实践总结 • k8s/etcd 配置管理存在性能瓶颈: • 单一 resource 应控制在k级别,达到 10k 量级后响应可能会出现超 时导致配置读写状态异常,进而影响整个系统稳定性 实践总结 • Istio配置管理有局限性: • Endpoint的配置管理有防抖动处理,即使集群中的部署变化再快,0 码力 | 31 页 | 4.21 MB | 1 年前3
Envoy原理介绍及线上问题踩坑rights reserved. Page 2 个人介绍 张伟 华为云容器网格数据面技术专家 拥有10年以上中间件及高性能系统开发经验, 作为架构师及核心开发人员发布过传输网管系 统、Tuxedo交易中间件、ts-server多媒体转码服 务、GTS高性能事务云服务、SC高性能注册中心、 ASM数据面等多个产品。先后就职于亿阳信通、 北电、甲骨文、polycom、阿里巴巴等公司;目 前在华为云云原生团队负责网格数据面的架构 Envoy流量拦截原理、常用部署方式 3. Envoy可扩展过滤器架构、可观测性 4. Envoy线程模型 5. 生产环境问题分析及解决方法 6. 针对Envoy做的一些优化及效果 7. 常用性能分析测试工具及使用方法 8. 华为ASM产品介绍 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 4 前言 能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、 完整的可观测性等。 • 目前常见数据面主要有三种:Envoy、Linkerd、Traefic。Envoy由于高性能和扩展能力前在数据面遥 遥领先。 • Iptables使Pod间出入应用的流量均由Envoy代理,对应用来说完全透明。支持主要常用网路协议 Http1/Http2/Tls/gRPC/Tcp等。0 码力 | 30 页 | 2.67 MB | 1 年前3
探讨和实践基于Istio的微服务治理事件监控基于容器化和微服务化的监 控场景 • 应用规模巨大 • 服务之间依赖呈现为网状 • 除了日志、性能指标,需要 基于请求的依赖追踪监控 基于虚拟化的监控场景 • 应用规模大 • 服务之间依赖呈现为线型 • 日志、性能指标需要集中化 存储 基于主机的监控场景 • 应用规模较小 • 服务之间没有互相依赖 • 日志、性能指标都在单个主 机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合 • 体现系统性能趋势 分布式追踪 • 和请求相关 • HTTP • SQL 日志系统 • 代码逻辑处理事件 • 异常、debug信息容器化和微服务下的监控需求 微观下的监控需求 快速错误追踪 可快速排查在性能测试场景下的 慢方法、异常调用以及异常报文 等信息 单次链路追踪 可细粒度排查应用单次链路调用 插件 也就是开发Adapter。两种开发模式 几种开发模式,以及写一下两种方式的区别 Compiled In Adapter Out Of Process Adapter • Adapter与mixer代码需要一起打包编译,最终生成 一个可执行文件。 Adapter作为grpc服务端,运行在独立的pod当中, Mixer通过通过rpc调用,将属性与日志发送给Adapter。基于Mixer的二次开发的流程0 码力 | 29 页 | 8.37 MB | 6 月前3
Extending service mesh capabilities using a streamlined way based on WASM and ORASi lters ○ …. ● 自定义开发: ○ 静态预编译: ■ 将其他过滤器集成到Envoy的源代码中,并编译新的Envoy版本。 ■ 这种方法的缺点是您需要维护Envoy版本,并不断使其与官方发行版保持同步。 ■ 此外,由于Envoy是用C++实现的,因此新开发的过滤器也必须用C++实现。 ○ 动态运行时加载: ■ 在运行时将新的过滤器动态加载到Envoy代理中。 ■ 简化了扩展Envoy的过程 以选择实现过滤器的编程语言。 ○ 可靠性和隔离性:过滤器会被部署到VM沙箱中,因此与Envoy进程本身是隔离的;即使 当WASM Filter出现问题导致崩溃时,它也不会影响Envoy进程。 ○ 安全性:过滤器通过预定义API与Envoy代理进行通信,因此它们可以访问并只能修改有 限数量的连接或请求属性。 ● Cons ○ 性能约为C++编写的原生静态编译的Filter的70%; ○ 由于需要启动一个0 码力 | 23 页 | 2.67 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh Istio在华为云:华为云容器应用 Istio在华为云:服务网格0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh28 Istio在华为云:华为云容器应用29 Istio在华为云:服务网格0 码力 | 34 页 | 2.64 MB | 6 月前3
共 16 条
- 1
- 2













