蚂蚁金服 API Gateway Mesh 思考与实践
蚂蚁金服 API Gateway Mesh 思考与实践 靳文祥(花名:贾岛) 蚂蚁金服 高级技术专家1/21 /01 /02 /03 API Gateway Mesh 的定义 蚂蚁金服 API Gateway Mesh 实践 云原生 API Gateway 的思考2/21 API Gateway Mesh 的定义 /013/21 LB\Ingress API Gateway POD Sidecar App POD Traffic Control Plane K8S Cluster API Gateway in Service Mesh4/21 API Gateway Service Mesh vs 南北流量(内外) API Gateway vs Service Mesh A infrastructure to decouple the application Service Mesh is Patterns SofaRPC API Gateway MQ Client Service Code6/21 LB\Ingress API Gateway Sidecar App POD Sidecar App POD Traffic Control Plane Cluster API Gateway Mesh An infrastructure0 码力 | 22 页 | 1.72 MB | 5 月前3在Kubernetes上部署高可用的Service Mesh监控
mesh Old-school monitoringPrometheus + Kubernetes ● A time series based monitoring system. ● Borgmon for mere mortals. ● Seamless integration with kubernetes at infrastructure and app level. ● Key prometheus ● Serves prometheus data through gRPC-based thanos store API Prometheus Sidecar gRPC Store API TargetsGlobal view - Querier ● Stateless, horizontally scalable store as a data retrieval proxy. ● Implements store api as well. ● Pulling from object storage is expensive, caching is necessary.Deploy on kubernetes - Prom + Sidecar ● https://github.com/improbabl0 码力 | 35 页 | 2.98 MB | 5 月前3深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
深入 Kubernetes 的“无人区” —— 蚂蚁金服双十一的调度系统 曹寅2/19 一、蚂蚁金服的Kubernetes现状 二、双十一Kubernetes实践 三、展望未来迎接挑战 目 录 contents 目录3/19 一、蚂蚁金服的Kubernetes现状 Part 1:4/19 发展历程与落地规模 Part 1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 规模化落地 2018年下半年开始投 入 Kubernetes 及其配 套系统研发 2019年初于生产环境 开始灰度验证,对部分 应用做平台迁移 2019年4月完成云化环境 适配,蚂蚁金服云上基础 设施全部采用 Kubernetes 支撑618 2019年7月到双十一前完成 全站 Kubernetes 落地,超过 90% 的资源通过 Kubernetes 分配,核心链路100%落地支撑 大促。5/19 大促规模 Part 1:蚂蚁金服的Kubernetes现状 数万台 服务器和ECS 超一万 单集群规模 90%+ 应用服务 数十万 应用 Pods业务 6/19 统一资源调度架构 Part 1:蚂蚁金服的Kubernetes现状 非云 资源 云化 资源 基础 服务 蚂蚁 k8s 核心 CRI Kubernetes API Server 极速交付 分时复用 弹性容量0 码力 | 19 页 | 2.18 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
周 涛 (广侯) 阿里巴巴 云原生应用平台 技术专家 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •嵌入式、微服务框架 •2017 年加入阿里巴巴,负责阿 里集团数十万集群节点规模化运 维管理系统的研发工作 •2019 年参与集团全面上云项目 并经历了整体架构的云原生升级 演进,稳定支撑双11峰值流量分享内容 全称:弹性裸金属服务器(神龙) • 阿里造“神龙”神龙 X-Dragon • 优势: • 性能 • 弹性 • 支持再虚拟化 2017/10 阿里云神龙正式商用 (AWS Nitro 2017/11)技术选型 • 全面上云为什么要用神龙? • 高性能:去掉了虚拟化带来的 8% 的性能损耗 • 支持二次虚拟化:使多样虚拟化技术 (Kata, Firecracker 等) 的探索和创新成为 可能 • 大规模混部、优先级差异化提升资源使用效率 • Alibaba Serverless Infrastructure (ASI) 的基石上云效率提升 物理机 (云下) 神龙裸金属 (云上) 交付周期 周 分钟级 弹性扩缩容 - 支持 性能 独占 独占 (优于普通ECS) 硬件故障率 硬盘1年故障率 2% 0.8%% (无本地盘) 硬件维修周期 [周, 月] [分钟,天]成本 效率 稳定云化架构 物理机 + 本地存储 +0 码力 | 21 页 | 7.81 MB | 5 月前3蚂蚁金服Service Mesh渐进式迁移方案
Mesh(带控制平面,如Istio) • Kubernetes • 微服务 ü 现实中有很多挑战 • 还有很多应用没有实现微服务化 • 还有很多应用没有运行在kubernetes之上 • Istio目前还不够稳定,也无法原生支持我们的规模 • 现有系统中的众多应用不可能一夜之间全部迁移 ü 最重要的:平滑迁移 • 微服务 + Service Mesh + Kubernetes 是目标 • 但是如何 Mesh(意味着更偏离目标) ü 好处是第一步(非k8s上向Sidecar模式演进)非常自然 • 容易落地 • 快速达成短期目标 ü 缺点是再往后走 • 由于没有k8s的底层支持,就不得不做大量工作 • 尤其istio的非k8s支持,工作量很大 • 而这些投入,在最终迁移到k8s时,又被废弃 ü 结论: • 不符合蚂蚁的远期规划(k8s是我们的既定目标) • 会造成投资浪费(k8s铺开在即) 168.1.101:12220 To:192.168.1.102:12220 To:192.168.1.103:12220 背景:k8s内外网络打通,IP互通透明拦截带来的升级弹性:对应用透明,支持直连/单跳/双跳 Service-A Outbound Sidecar Traffic Interception To: b-ip:b-port to: sidecar-ip:sidecar-port0 码力 | 40 页 | 11.13 MB | 5 月前3Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?
关心的Mixer v2,以及我个人看到的一些业界新的技术方向, 如web assembly技术,还有产品形态上的创新,如google traffic director对servicemesh的虚拟机形态的创新支持。 在ServiceMesh出道四年之际,也希望和大家一起带 着问题来对ServiceMesh未来的发展进行一些深度思 考。 标题中续字的缘由Part 0:灵魂拷问 你是什么垃圾? 你清楚你的定位吗? • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 Kubernete s API Server Adapters ConfigurationsOut-of-process Adapter 7/39 Istio的新回答:架构继续优先,性能继续放一边 Part 1:Serv 实时A/B测试 (内容来自”Extending Envoy with WebAssembly”)Envoy支持Web Assembly的架构 Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办? (图片来自”Extending Envoy with WebAssembly”)Envoy支持的Web Assembly VM Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办?0 码力 | 43 页 | 2.90 MB | 5 月前3进击的 Traefik | 云原生边缘路由器探秘
云原生的边缘路由器 • 让部署微服务更加便捷而诞生的现 代 HTTP 反向代理、负载均衡工具 • 它支持多种后台 (Docker, Swarm, Kubernetes, M arathon, Mesos, Consul, Etcd, Z ookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的 配置文件进行设置Traefik 项目 •https://github Stable Branch: v1.7、v2.0(v1.X configurations are NOT compatible with the v2.X )Traefik 2.0 新特性 •TCP 支持 •中间件 •全新的 Dashboard •金丝雀发布 •流量复制 •其他功能......1 Traefik 介绍 2 Traefik 2.0 核心概念 3 Traefik With Docker Providers 的 API 查 找有关路由相关信息,并动态更新 • 基于标签、key-value、注解、文 件 • Docker、Kubernetes、Marathon 、Rancher、FileEntryPointsRouters匹配器Services • Services 负责配置最终处理传入请求 的实际服务。 • 负载均衡(针对应用实例):轮询( 目前支持)、session 亲和性0 码力 | 35 页 | 8.58 MB | 5 月前3SOFAMesh的通用协议扩展
部署 • 测试 • 支持主流的微服务框架 • SOFA • HSF • DUBBO • SPRING CLOUD • … • 控制平面创新的地方 • MESH OPERATOR • RPC SERVICE CONTROLLER • …SERVICE MESH 落地中的问题常见的 MESH 落地方案 在非 KUBERNETES 环境部署 ISTIO 把 KUBERNETES 当作一个更好用的虚拟化方案 当作一个更好用的虚拟化方案 KUBERNETES NATIVE 化微服务 PLATFORM ADAPTER 自己做控制平面KUBERNETES NATIVE 微服务 • 使用 Kubernetes 作为注册中心 • Service • Endpoint • Pod • 使用 DNS 寻址 • 使用 iptables/ebpf 透明地路由所有网络流量 • 服务治理规则,服务,实例和配置都是 Kubernetes Kubernetes 资源 • 使用 Controller Pattern 通过 CRD 扩展新的能力 • …MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 • RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模 型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 • …ISTIO 控制平面路由的抽象模型0 码力 | 28 页 | 4.73 MB | 5 月前3Service Mesh Meetup #3 深圳站
Kubernetes、ServiceMesh、CI/CD 实践 杨文@JEX 2018.08.25 Service Mesh Meetup #3 深圳站关于我 • JEX 技术VP • 前小恩爱技术总监 • Gopher,开源爱好者 • Go 夜读发起人 • https://github.com/developer-learning/night-reading-go • https://github https://github.com/developer-learning/learning-kubernetes大纲 • 技术架构的演进 • 如何提升工程效率?DevOps • CI/CD 实战 • ServiceMesh • 踩过的一些坑 • Q&A技术架构的演进 • 单体架构 • 一个框架 • 一个数据库 • 分模块整合架构(前后端分析) • 不同的框架或业务模块 • 多种数据源 • 微服务架构 开发,基于容器技术的 CI/CD 系统,能够单独部署,支持几乎所有的 Git 平台(Github,Gitlab,Bitbucket,Gogs,Gitea 等)。 • 它的特点: • 一个 .drone.yml 搞定(简单) • 原生 Docker 支持: 任何步骤都是在 Docker 内执行的(环境隔离) • Pipeline as code • 丰富的插件支持 • 极简的Web管理界面 • 其他:0 码力 | 45 页 | 18.62 MB | 5 月前3Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展
Protocol Canary deployment Chaos testing User Subscription & SLA Control Plane Programmable API APP ...... Data Plane Control Layer Application Layer通过Service Mesh控制面统一管理F5和Envoy https://aspenmesh subscription & SLA to operation policy Data Plane Protocol Programmable API Data Plane Control Layer 2. APP calls control plane API to create the operation policy 3. Control plane distributes the operation Mesh发展的启发: Ø 北向接口 • 面向业务和运维 • 具有较高的抽象层次,比较容易提取统一的控制面标准? • 主要面向layer 7及以上? • SMI能否统一控制面标准?如何避免成为最小公分母,扩展支持其它协议? Ø 南向接口 • 面向流量和路由配置 • xDS v2将统一数据面标准? • xDS接口包含有较多实现相关内容:Listener, Filter, 能否可以成为一个通用的接口协议?0 码力 | 27 页 | 11.99 MB | 5 月前3
共 33 条
- 1
- 2
- 3
- 4