七牛容器云ServiceMesh实践七牛容器云Service Mesh实践 冯玮 七牛容器云架构师 2018.11.25 Service Mesh Meetup #4 上海站Ingress Controller • 流量管理 • 安全管理 • 统一配置 • 反向代理Contour • 本质上还是Ingress Controller • Kubernetes深度整合 • Gimbal生态组件Contour特点 • 基于Envoy 南北流量产品化 • TLS管理优化 • Contour增强 • 入口流量管控 • 跨集群调度 • 发展策略 • API版本兼容两种方式 • 数据面优先,控制面按需迭代七牛容器云Service Mesh发展 • 产品发展 • 依托容器云PaaS中台 • 辐射业务线:Spock,Kodo,Dora等 • 先内部普及踩坑,后私有云能力产品化 • 使用规模 • 80%以上产品线部署Contour & Istio • 历史问题 • 分布式系统性能测试问题 定位难 • 多版本并发测试 • 故障注入较困难(代码侵 入性强) • 测试环境不稳定,后端Pod 频繁重启 • 解决方案 • Contour产品化 • Istio的灰度发布和流量管理 • Istio的Tracing产品化落地场景—云存储系统 • 历史问题 • 灰度发布 • 预上线系统验证体系 • 系统故障隔离 • 跨集群访问 • 线上问题链路追踪0 码力 | 15 页 | 3.86 MB | 6 月前3
阿里云容器服务大促备战李斌 阿里云容器服务 全民双十一 基于容器服务的大促备战 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT我是谁挑战在哪里? 极限并发 人为失误 系统瓶颈 雪崩 单点失效 成本控制 用户体验 最终一致性 稳定性 资源不足 资源利用率 安全风险备战工具箱 服务化 开发运维一体化 弹性 极致性能 高可用 全站上云 安全加固 人工智能 大数据 离线计算 全链路压测 边缘计算 敏捷调度 故障演练人为失误 http://integracon.com/11-leading-causes-downtime/ 45%最佳实践之容器化DevOps 杭州 容器集群 集群 伦敦 Serverless集群 自动安全扫描 镜像签名 全球自动分发 智能构建 上海 边缘集群 ECS ECI 应用定义 ACR 镜像服务 镜像快照两个数字背后的故事 延时降低75% 混合云2.0架构 交付效率提升3倍 全链路安全架构 实时风险监测、告警、阻断 极速弹性 分钟级1000节点伸缩 异构算力 利用率提升5倍 沙箱容器 强隔离,90%原生性能 容器云应用市场 合作伙伴计划 阿里云容器服务Thank you ! 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT0 码力 | 17 页 | 17.74 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践微服务结合容器云平台的思考和实践 2018.06.25 徐运元关于我 2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发 来自于浙江大学SEL实验室目录 CONTENTS Kubernetes平台下的微服务演进 Pilot核心功能解读 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 简单路由功能 统一日志中心 Fluentd & ES 统一监控中心 Prometheus -N ISTIO_REDIRECT iptables -t nat -A ISTIO_REDIRECT -p tcp -j REDIRECT --to-port ${PROXY_PORT} #所有进入容器的流量送入Envoy iptables -t ${table} -A PREROUTING -p tcp -j ISTIO_INBOUND iptables -t nat -A ISTIO_INBOUND0 码力 | 28 页 | 3.09 MB | 6 月前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%落地支撑0 码力 | 19 页 | 2.18 MB | 6 月前3
网易云Service Mesh的产品架构与实现多次作为邀请讲师参加Dockone容器技术大会,Segmentfault 开发者大会,InfoQ全球架构师峰会(明星讲师),CSDN SDCC大 会,51CTO WOTA大会等 • 知名技术博主,博客可搜索popsuper1982,多篇文章推荐至全 球最大IT社区CSDN首页及《程序员》杂志 • 在工作中积累了大量运营商系统,互联网金融系统,电商系统等 容器化和微服务化经验01 目录 02 s 网易云微服务框架介绍 基于容器服务的微服务架构实践163yun.com 一、微服务与Docker、Kubernetes163yun.com 应用架构 数据架构 IT架构 微服务的交付形式Kubernetes 轻量级的IT运维模式Swarm 资源利用率高的任务执行模式Mesos 快速迭代 高并发 OPEX CAPEX 大数据分析,运营 容器技术的三种视角微服务形态 Hailo 163yun.com Service Mesh优缺点163yun.com 二、网易云微服务框架介绍163yun.com 设计思路 • 发现容易搞定,治理难搞定 • 发现不易替换,治理易替换 • 解耦容器平台与微服务 • 解耦服务发现与服务治理163yun.com 设计思路 Agent热加载 兼容SpringCloud,Dubbo框架 控制面租户隔离 适配VPC网络 同IaaS或者Kubernetes解耦0 码力 | 35 页 | 6.33 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Ø基于蚂蚁SOFA体系的Mesh化思考 ü 无法保证上下游应用同时升级到Mesh模式 ü 基于RPC内容的流量调度 ü 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 ü 蚂蚁运维架构建立在流量调度的基础上 ü 容器管理平台更替快速进行中 ØGolang 性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 ü单次写操作绑核 3us,不绑核 5us Ø更好的 G-P-M cache locality 亲和性 üRuntime 内存使用率提升,arena 区内存申请频率低,大小更小 üMheap 申请系统内存减少约60%内存 3 ØSLAB-style buffer pool ü减少内存 copy ü压测场景下内存复用率90% ØGolang 内存模型亲和 üP中 mcache 缓存小于 32K ü适度 buffer 写数据,频繁写系统 IO 会造成写效率下降 Ø均衡 ü读写均衡是高吞吐量的保证 ü大量读/写会增加系统时间消耗, runtime 调度成本IO Bad Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿 Ø多核:避免P饥饿单核TCP转发 7 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R)0 码力 | 44 页 | 4.51 MB | 6 月前3
陌陌Service Mesh架构实践Service Mesh架构在陌陌的落地实践13/24 方案选型 与现有架构的兼容性 现阶段的关键需求 技术储备与原则类因素 自研数据平面与 控制平面方案 使存量服务接入Mesh 方案 对接大量内部系统 关键收益均由数据平面产生 非完善的控制平面功能 技术体系内不引入Go语言 最成熟的服务端语言为Java 使用Java开发 数据平面Agent14/24 整体架构 数据平面 • 现有协议的流量转发 性能问题 • 资源问题 • 兼容问题 关键设计 关键问题16/24 数据平面部署方式 容器化运行方式 • sidecar模式 • 与业务进程相同Pod不同Container 陌陌微服务容器化部署比例在80%以上 并且还在进一步推进 业务接入方式 • 研发人员:升级SDK版本 • SRE:发布系统配置发布项 sidecar模式部署17/24 数据平面升级方式 – 平滑升级机制 平滑要求 / recvmsg接口发送FD • 步骤:listener、存量连接、存量数据 Java实现 • 借助JNI与Netty Java实现FD迁移18/24 数据平面升级方式 – 发布流程 容器化发布方式 • 发布过程同时存在新旧两个Agent • 注入新Container • 预留占位Container • Container内部升级 当前方案 运维Agent • 单个Pod升级Agent0 码力 | 25 页 | 1.25 MB | 6 月前3
阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践Kubernetes 集群运维实践 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •嵌入式、微服务框架 •2017 年加入阿里巴巴,负责阿 里集团数十万集群节点规模化运 维管理系统的研发工作 •2019 年参与集团全面上云项目 并经历了整体架构的云原生升级 演进,稳定支撑双11峰值流量分享内容 • 阿里全站上云 • 神龙 (what & why) • 规模化集群运维实践 全面上云为什么要用神龙? • 高性能:去掉了虚拟化带来的 8% 的性能损耗 • 支持二次虚拟化:使多样虚拟化技术 (Kata, Firecracker 等) 的探索和创新成为 可能 • ASI (k8s) + 容器 (runc / runv / kata / ..) + 神龙 = 阿里云原生化 的最佳组合 • 最大的电商平台之一,并池最佳化资源利用率 • 大规模混部、优先级差异化提升资源使用效率 • Alibaba Underlay网 络 神龙/ECS + 远程存储 + Overlay网络 集团机房 云上机房 基础设施 IDC 系统 基础运维 天基系统 CMDB 安全审计 单机监控 ASI 平台 kubelet/Pouch CI/CD k8s extended Service Mesh 安全容器 运维管控 在离线混部 额度管控 监控体系 多租隔离 上层业务 集 团 业 务运维挑战 • 规模大 •0 码力 | 21 页 | 7.81 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?1.12中Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? 有了高大上的容器/k8s/云原生, 还要不要支持土里土气的 虚拟机?Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Google Traffic Director 支持虚拟机,而且可以 虚拟机和容器相互访问 Linkerd 1.* 天然支持 Envoy 天然支持 Istio 开始准备支持,后 开始准备支持,后 来实质性取消,基 本只有k8s好用 Linkerd 2.0 只支持k8s AWS app mesh 支持虚拟机,而且 可以虚拟机和容器 相互访问 ServiceMesh主流产品对虚拟机的支持情况Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Linkerd 1.* Envoy App Mesh Traffic Director Istio Linkerd 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Linkerd 1.* Envoy Istio Linkerd 2.* 支持 不支持 第一个转折容易理解:相比虚拟机,k8s提供了太多便利 • 容器 • kubernetes • 云原生Part 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? Linkerd 1.* Envoy AWS App Mesh Google Traffic0 码力 | 43 页 | 2.90 MB | 6 月前3
Service Mesh的实践分享Gateway 健康检查 服务注册 Registry agent 服务发现 HTTP/JSON HTTP/JSON容器化 • Proxy Daemonset • 每台宿主机一台Proxy • Proxy地址文件 • Mount到所有pod • 客户端容器监听文件,根据地 址文件找Proxy • 切换地址到remote proxy,轻 易实现优雅退出和滚动升级 • 增强隔离性 Sidecar(in Pod) Daemonset 对容器的影响 影响大。Pod中增加sidecar容器,加大整个Pod的资源需 求,对K8s的调度形成压力,特别是在资源紧张的情况下; 而且还容器导致资源浪费(sidecar的使用率问题) 影响小。宿主机预留部分资源启动daemonset 即可 运维难度 难度大。Sidecar故障会影响同一个pod的业务容器,同 生共死 难度小。Sidecar故障可以将流量临时切到 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 升级难度 难度大。升级Sidecar需要业务容器一起发布,协调成本 高,而且全量升级sidecar对整个系统的动荡太大 难度小。切换流量到remote proxy可以实现用 户无感知无损升级。可以轻易的实现全网一月 一升级,快速的迭代、落地、反馈 动态扩容难度 单机使用,无须扩容 需预先根据宿主机的配置调整Proxy的资源以 应对客户端增多的情况。容量超标则临时转移0 码力 | 30 页 | 4.80 MB | 6 月前3
共 30 条
- 1
- 2
- 3













