百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu化, 集中化管理,甚至做到自动决策 Ø 精细故障能力(异常query、注入延迟等)期望能够标准化、低成本跨产品线复制 Ø 百度APP架构缺少上下游模块视图和流量视图,黄金指标不足,导致容量管理压测效率低、混沌工程实施成 本高、故障定位成本高。 #IstioCon 目标 l 服务治理策略平台化 联合公司内部,通过合作共建方式实现完整的Service Mesh架构,提升架构策略灵活性,缩 数据面板:envoy组件,流量转发、负载均衡 等功能. #IstioCon 收益 主要介绍如下几个方面: l 稳定性方面 (单点,多点,防雪崩,长尾优化,架构故障韧性能力) l 治理效率方面 (提升一级模块建成效率,二级模块预案能力) l 周边生态方面 (流量复制,稳定性工程,动态调参, 服务可观测性) l 覆盖率方面 (百度APP100%核心模块,流量占比>79.5% ) #IstioCon 收益介绍 – 防雪崩能力:动态BackupRequest #IstioCon 未来 l 强化稳定性工程。(Case覆盖、故障自动恢复) l 实现现有能力整合。(Mesh作为基础层,完全有能力整合内部Trace系统、压测平台等) l 积极拥抱社区。(积极贡献Istio社区) l 探索新应用。 (机房扩建,流量染色分级等) #IstioCon Thanks 添加讲师微信0 码力 | 9 页 | 2.20 MB | 1 年前3
Envoy原理介绍及线上问题踩坑ISTIO_REDIRECT链。 • 除目标为127.0.0.x及Envoy自身发出的 流量外,其余都通过REDIRECT (DNAT)保存原始目标地址后,进入 Envoy的15001端口。 • inbound方向:从二层网络设备进入POD内的 流量 • 增加ISTIO_INBOUND、 ISTIO_IN_REDIRECT链。 • 跳过15008、22、15090、15021、 15020系统服务外,其余都通过 默认为2个工作线程 • 默认最大上游连接数1024,最大挂起 等待请求数1024 • 外部请求通过直接访问ingressgateway 网关端口进入网格 • ingressgateway为envoy相同二进制, 不做iptables规则注入,作为外网客户 端网格内代理。 • ingressgateway不设置工作线程数限 制,并且最大上游连接及最大挂起等待 请求数请求数默认值不做限制。 APP iptables source/extensions/filters,listener目录包含监听 过滤器,network目录包含L4层网络过滤器,http 目录包含L7层HTTP过滤器 proxy envoy envoy静态 二进制 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 18 EnvoyHTTP请求流程 POD1 APP0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio控制平面组件原理解析• 喜欢开源,个人开源项目”Jaeger PHP Client”。 • 喜欢研究源码,对NSQ,Jaeger,Istio(控制平面)等go语言开源项目进行 过研究。 • 除了代码还喜欢爬山和第二天睡醒后全身酸疼的感觉。目录Pilot-Agent——管理生命周期(PA) u启动envoy u热重启envoy u监控envoy u优雅关闭envoy启动envoy ü监听/etc/certs目录 任务放入队列 ü Worker处理任务Jaeger架构设计Mixer阻塞对envoy的影响 压测环境: ü 模拟接口延迟响应 ü 使用hey压力工具 ü 相同压力 ü 先用hey进行预热 ü 从10份数据中取中位数解决方案 ü方案一 • 业务性能和日志之间的选择,出现阻塞,丢弃日志保性能 ü方案二 • 使用主题订阅模式,减少阻塞问题Istio_Ca——安全证书管理(ICA) u证书生成0 码力 | 30 页 | 9.28 MB | 6 月前3
探讨和实践基于Istio的微服务治理事件监控2018.11.25 徐运元关于我 2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发。目前致力 于公司基于Istio的微服务平台打造。 来自于浙江大学SEL实验室目录 CONTENTS 微服务平台的监控演进 Mixer组件的功能介绍 服务器总体展示 展示当前所有服务器的运行状况, 包括CPU、内存、网络、I/O读写 等信息 业务总体展示 展示当前业务相关数据的 从宏观上快速定位问题,在微观上找到问题根因的 监控方案问题二:现有的系统能否完全满足需求 现有系统如何满足运维需求Istio现有的监控体系 指标监控 分布式追踪 日志系统Zipkin的架构图 Google Dapper Zipkin的实现EFK和Prometheus的架构图 成就客户卓越Mixer组件功能介绍Mixer的介绍 • Check:也叫precondition,前置条件检查, 比如说黑白名单,权限。 • Quota:访问次数 • Report: 日志。Mixer的二次开发流程Mixer插件工作模型 上述的过程中,Envoy所做的数据收集、上传是自动完成的,而Mixer生成模版实例则 可以通过配置来完成。因此,所谓的Mixer插件实际上就是Adapter,开发Mixer插件0 码力 | 29 页 | 8.37 MB | 6 月前3
Extending service mesh capabilities using a streamlined way based on WASM and ORAS○ 动态运行时加载: ■ 在运行时将新的过滤器动态加载到Envoy代理中。 ■ 简化了扩展Envoy的过程, 这种解决方案通常使用WebAssembly(WASM)的新技术, 它是一种有效的可移植二进制指令格式,提供了可嵌入和隔离的执行环境。 6 使用Wasm for Proxy ● Pros ○ 敏捷性:过滤器可以动态加载到正在运行的Envoy进程中,而无需停止或重新编译。 ○ 可维护 ������������� ASMFilter Deployment 资源对象 Controller (Watch & Reconcile) Istio EnvoyFilter CR wasm filter二进 制文件 服务网格ASM Pod K8s集群 Proxy Service A Volume 挂载 Envoy配置 17 ASMFilterDeployment CR示例 ● 创建ASMFilterDeployment "name":"wasmfilters-dir"}]' 21 执行结果, wasm filter生效 22 Summary & Tips ● 开发阶段 22 使用Wasm sdk 生成Wasm二进制 使用oras cli OCI镜像仓库 ● 部署运行阶段 创建 ASMFilterDeplo yment CR 确认Istio EnvoyFilter CR Troubleshooting 在ASM中开启0 码力 | 23 页 | 2.67 MB | 1 年前3
在网格的边缘试探:企业 Istio 试水指南ServiceMesher 社区 • Istio贡献者们关于我自己 • HPE(前惠普)软件分析师 • 从业第二十个年头,中老年乙方技术人员 • Istio、Kubernetes项目成员 • Istio.io全球贡献第二 • Kubernetes权威指南系列作者之一 • 自动化、马拉松爱好者今天要讲的东西 • Istio 不能做什么 • Istio 能做什么 • 现阶段 Istio 有什么问题 • 那Istio还用不用0 码力 | 19 页 | 11.41 MB | 6 月前3
共 6 条
- 1













