蚂蚁金服Service Mesh渐进式迁移方案步步为营,扩大战果 • 杜绝一刀切k8s和Service Mesh落地方案演进路线 部署在 非k8s上 不是Service Mesh形态 部署在K8s上 非SM 部署在 非k8s上 Service Mesh (Sidecar模式) 部署在K8s上 Service Mesh (Istio模式) 部署在K8s上 Service Mesh (Sidecar模式) 部署在 非k8s上 Service 不现实 Istio的非k8s支 持投入产出比 太差 背景1:原生Istio无法支撑我们的规模 背景2:k8s(Sigma3.1)将加快普及 K8s普及在即, 不适合再大面积 铺开,快速会师ü 和路线1的核心差别 • 是先上k8s,还是先上Service Mesh • 而且是终极形态的Service Mesh(意味着更偏离目标) ü 好处是第一步(非k8s上向Sidecar模式演进)非常自然 缺点是再往后走 • 由于没有k8s的底层支持,就不得不做大量工作 • 尤其istio的非k8s支持,工作量很大 • 而这些投入,在最终迁移到k8s时,又被废弃 ü 结论: • 不符合蚂蚁的远期规划(k8s是我们的既定目标) • 会造成投资浪费(k8s铺开在即) 演进路线2分析 部署在 非k8s上 Service Mesh (Sidecar模式) 部署在 非k8s上 Service Mesh0 码力 | 40 页 | 11.13 MB | 6 月前3
Service Mesh的实践分享• Mount到所有pod • 客户端容器监听文件,根据地 址文件找Proxy • 切换地址到remote proxy,轻 易实现优雅退出和滚动升级 • 增强隔离性 • Local Proxy被pod共享 • 自保护,对来源方限流和流量 转移 • 资源适配 • 根据宿主机的硬件配置定制不 同资源配置的Daemonset Local Proxy Pod 写入地址 监听变化 宿主机 Proxy address File Pod Remote Proxy Cluster 主流量 备用或限流 DaemonsetOverall JavaApp Local Proxy OSP Server Service Registry Service Config Center Remote Proxy Cluster API Gateway 备用链路 备用链路 服务发现 服务注册 配置下发 服务路由 网络传输 OSP client PhpApp Local Proxy OSP client Pod Local Proxy OSP client Pod OSP client Web Server Reg agent Proxy address File 服务注册 宿主机 物理机 物理机 Tracing0 码力 | 30 页 | 4.80 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践流量控制 • 审计日志 • 黑白名单 • …K8S集群 云平台微服务演进之基于Spring Cloud的微服务方案 NS A Service Zuul Nginx Eureka Server Service 1 Service 2 Ribbon 注册 业务服务 配置中心 启动获取 Monitor Turbine K8S流量 SC流量 同集群调用微服务 Spring Makefile(include了tools/istio- docker.mk)把这个dockerfile build成了 ${HUB}/proxy:${TAG}镜像,也就是 Kubernetes里跟应用放在同一个pod下的 sidecar。非Kubernetes情况下需要把 pilot-agent、envoy跟应用部署在一起,这 就有点“污染”应用的意思了。Pilot-Agent的功能介绍 在proxy镜像中,pilot-agent负责的工作包括: 后 reload envoy。 而envoy负责接受所有发往该pod的网络流量,分发所有从pod中发出的网络流量。 根据代码中的sidecar-injector-configmap.yaml(用来配置如何自动化地inject istio sidecar), inject过程中,除了proxy镜像作为sidecar之外,每个pod还会带上initcontainer(Kubernetes中的概 念0 码力 | 28 页 | 3.09 MB | 6 月前3
严选 ServiceMesh 实践Istio • 由 Google,IBM 和 Lyft 联合开发,Go 语 言,与 K8s 一脉相承且深度融合 • K8s 提供了部署、升级和有限的运行流量管 理能力 • Istio 补齐了 K8s 在微服务治理上的短板 (限流、熔断、降级、分流等) • Istio 以 Sidecar 的形式运行在 Pod 中, 自动注入,自动接管流量,部署过程对业务 透明 • 提供了完整的 Service - 服务治理能力 – 基于Istio+Envoy 类型 功能 能力提供方 服务调用方(Client) 服务提供方(Server) 服务注册与发现 注册发现:云外基于 Consul,云内基于 K8s 默认的 ETCD √ 调用控制 协议支持:HTTP 1.X/2.X,GRPC,WebSocket,Dubbo, Thrift √ 路由控制:静态路由、动态路由、流量染色、分流控制等 √ 负载均衡:支持 规划与展望 /0422/24 性能优化方向 • 方案1: 采用 eBPF/xDP(sockops),优化路径为 SVC <-> Envoy,延迟性能提升10-20%。 Envoy 部署方式 per-pod,跟社区方向一致,也是目前严选采用的部署方案。 • 方案2: 采用 DPDK+Fstack 用户态协议栈,优化路径为 Envoy <-> Envoy,延迟性能提升 0.8-1 倍。Envoy 部署方式为0 码力 | 25 页 | 2.07 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践ous.com/90 Brownfield • 棕地,已开发/污染过的土地 • 成熟的项目/遗留系统12/39 Part 2: 在当下『路口』的思考 • 大量的应用还跑在非 k8s 体系上(VM、独立的注册中心等) • 当下这些 brownfield 应用的业务价值往往更大,如何把它们纳入 Service Mesh 统一管控? 现实场景 – Brownfield 应用当道 Advisor Pod Spring Cloud 应用 SOFAMosn SOFA 服务注册中心 Service Mesh 控制平面 Galley Citadel Inspector Pilot 双模微服务 = 传统微服务 + Service Mesh 双剑合璧 服务路由 服务限流 服务拓扑 实时监控 ........ Pod Dubbo 应用 应用 SOFAMosn VM SOFA 应用 SOFAMosn VM Dubbo 应用 Pod SOFA 应用 SOFA SDK SOFA SDK 安全加固 基于 SDK 的传统微服务 基于 Sidecar 的 Service Mesh 微服务 互联互通,平滑迁移,灵活演进20/39 Part 3: 蚂蚁金服的产品实践 大规模场景下的服务发现0 码力 | 40 页 | 15.86 MB | 6 月前3
蚂蚁金服 API Gateway Mesh 思考与实践的思考2/21 API Gateway Mesh 的定义 /013/21 LB\Ingress API Gateway Sidecar App POD Sidecar App POD Traffic Control Plane K8S Cluster API Gateway in Service Mesh4/21 API Gateway Service Mesh vs 南北流量(内外) 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 infrastructure to expose your services … Filter Pipeline Extension JavaScript Lua GoPlugin ScriptFilter File Istio xds rest api k8s configmap config file mobile openapi mgs15/21 可灰度 可回滚 可监控 蚂蚁金服「三板斧」 API Gateway Mesh 落地挑战 风险0 码力 | 22 页 | 1.72 MB | 6 月前3
Service Mesh 在蚂蚁金服生产级安全实践AppLocalToken 替换 Service Account 支持多种Sidecar 通过Citadel Agent 获取证书使用可信身份服务构建敏感数据下发通道 背景介绍 通过应用Pod 中增加一个安全 Sidecar,以API接口的形式为APP及其他Sidecar 提供基础的身 份颁发、身份验证功能 解耦应用的业务逻辑与认证授权逻辑,减少开发量; 提供密码学安全的认证授权逻辑,提高安全性; 身份获取 应用 A 构造 HTTP 请求,调用 安全Sidecar 提供的 JWT-SVID 颁发接口获取 JWT-SVID。 安全Sidecar 通过 Downward API 获取 Pod 身份,并转换成 SPIFFE ID。 安全Sidecar 通过密钥将 SPIFFE ID 签发为 JWT-SVID,返回给应用 A。 应用 A 在服务调用中带上 JWT-SVID 来声 通道 密钥更新通道 安全Sidecar 的认证能力中依赖密钥等敏感信 息,在参考社区SDS方案的基础上,实现敏感 信息的管理及安全下发通道。 用户将密钥等信息通过CRD方式提交至K8s, 通过K8s的RBAC方式控制访问权限 拓展Citadel Watch 密钥相关的CR,筛选后 下发至对应的Citadel Agent节点 安全Sidecar 与 Citadel Agent0 码力 | 19 页 | 808.60 KB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展下一个热点?总体架构-高层视图 DexMesh控制面 MSB-SDClient MSB-Consul Jaeger DexMesh数据面 Pod Microservice Envoy Desktop OtherSystems Mobile DexMesh Ingress Pod Microservice Envoy (Telemetry, Policy check) 配置数据(服 务信息,路由 务信息,路由 信息等) 定制Istio组件 应用微服务 业务请求 控制流 图例说明 Pilot Mixer APP: Canary Deployment K8s API Server 管控规则 灰度发布 网格增强组件 原生组件 APP: Traffic Management APP ...产品化增强-服务注册发现 出于历史原因,我们使用了Kubernetes来部署服务,但并未使用Kubernetes内置的 200个服务的规模下,CPU占用率降低了一个数量级 • 服务数据变化同步时延从分钟级降低到秒级 • Consul调用导致的TIME_WAIT Sockets数量减少到个位级产品化增强-Ingress API Gateway K8S Ingress Load balancing SSL termination Virtual hosting Istio Gateway Load balancing SSL termination0 码力 | 27 页 | 11.99 MB | 6 月前3
金融级云原生 PaaS 探索与实践应用发布运维体系; • 业务实时监控,日志收集; • 机房级和地域级容灾能力; 业务背景业务背景 CAFÉ API Server Aggregation Layer 异地多活架构 同城双活架构 K8S API Server 基础发布运维 跨集群应用 资源管理 IaaS层(Aliyun/OpenStack/VMWare/Bare Metal) PaaS 核心层 核 心 流 程 两地三中心架构 CSI Plugins (NAS/OSS/Cloud Disk/Ceph) 网络接入 (SLB/ALB) 容 器 层 跨集群管理 单元化能力 容器镜像管理 批次发布 原生资源管理 Pod伸缩管理 集群伸缩管理 变更管控 配额管理 运维原子操作 精细化调度 接入层流程调拨 应用层流量调拨 跨集群状态 分发/汇聚 数据层流量调拨 压测/灰度 流量管理 单元化 元数据管理 弹性流量管理 多集群管控10/20 为什么要有集群联邦 • 异构屏蔽: 底层集群变化; • 统一管控: 业务弹性建站管控统一; • 可扩展: 多租硬隔离; 体量(单集群内节点数 1w+,Pod 10w+),集群数量多; 多集群管控11/20 多集群管控 联邦核心能力 • 跨集群资源同步 Template,Override,Placement 模型; 状态回流; 扩展0 码力 | 20 页 | 1.71 MB | 6 月前3
深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统单集群规模 90%+ 应用服务 数十万 应用 Pods业务 6/19 统一资源调度架构 Part 1:蚂蚁金服的Kubernetes现状 非云 资源 云化 资源 基础 服务 蚂蚁 k8s 核心 CRI Kubernetes API Server 极速交付 分时复用 弹性容量 资源画像 规模化调度 高可用容灾 可视化 服务 Cluster Control Panel 在线应用 Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 容量平台 监控平台 巡检平台 流量控制 流量平台 配置中心 流量控制器 流量状态CRD 资源状态CRD 资源及流量控制CRD 资源控制 分时调度 控制器 Pod 资源 Pod 资源 Pod 资源10/19 Part 2:资源分时调度0 码力 | 19 页 | 2.18 MB | 6 月前3
共 27 条
- 1
- 2
- 3













