京东Docker容器实践
2020-02-27 235浏览
- 1.京东弹性计算实践 京东/云平台/系统技术部 何小锋 www.jd.com
- 2.议题 www.jd.com 1 京东弹性计算之路 2 弹性计算架构 3 弹性调度策略及算法 4 弹性计算应用场景 5 数据驱动的精细化运营
- 3.私有云面临得挑战 部署复杂 扩容慢 运维困难 挑战 交付效率 不高 硬件成倍增长 成本高 资源利用率低 抱怨资源不够 www.jd.com
- 4.用户需求 用户习惯 稳定性 性能
- 5.弹性计算之路 2015/11/11 2013 全面推广 60000+ 2014Q4 2015/6/18 2015Q1 弹性计算 平台 www.jd.com 弹性落地 10000+
- 6.从KVM迁移到Docker 高性能 B 高稳定性 A C 快速部署 Docker (私有云) 低安全性 www.jd.com E D 轻量
- 7.弹性计算架构 业务系统 应用平台(CAP) (部署集成、弹性伸缩) 基础平台(JDOS) (OpenStack+Docker+JFS+OVS) IDC资源 弹性计算平台 = JDOS(JD Datacenter OS)+CAP(Cloud Application Platform)。 nJDOS实现实现基础设施(网络,物理机,存储)的资源管理、容器的生命周期管理、 监控指标采集; nCAP负责应用治理、部署、监控报警、资源利用率统计、手动和自动的弹性伸缩。 www.jd.com
- 8.OpenStack 01 成熟度 很成熟,社区非常活跃 www.jd.com 02 快速交付 03 积累了很多经验,快速交 公有云和私有云一套架构 付成果 。Windows虚拟机需求 一套架构
- 9.Docker Driver www.jd.com
- 10.网络(OVS/VLan) n 为了兼容现在的基础设施系统,满足用户习惯,每个容器都有独立的IP。 n 禁用了Docker网络,采用Neutron集成OVS; n 优化OVS转发层,提升网络小包延迟,适用于微服务调用; www.jd.com
- 11.存储 XFS 文件系统 JFS 块存储 www.jd.com 数据卷 日志
- 12.镜像分层合并 变更频繁 变更少 变更很少 应用层 基础层 OS层
- 13.镜像中心 www.jd.com
- 14.配置中心 •App:CAP•Group:V2正式环境 分组1 •Env:Production配置中心 测试环境 分组1 正式环境 分组2 一个镜像部署到多个环境中,根据应用、环境和分组从配 置中心拉取配置。 www.jd.com
- 15.CAP 架构 核心是一套工作流,基于Zookeeper分布式调度引擎来实现。能动态注册发现节点; 能控制单个节点并发任务数,失败重试次数,确保同一应用互斥任务串行执行。 www.jd.com
- 16.系统监控指标 连接数 系统负载 CPU占用 内存占用 指标 磁盘占用 存活 网络流入 网络流出 www.jd.com
- 17.监控架构 n指标数据带有明显的时间特性,每日数据上亿,采用了成熟的OpenTSDB方案。 n提供了从应用和实例多个维度查看负载情况,满足用户的需求。 n可以对应用配置警策略,进行短信或邮件报警。 www.jd.com
- 18.宕机探测架构 www.jd.com
- 19.硬件故障探测 www.jd.com
- 20.监控页面 www.jd.com
- 21.调度流程 www.jd.com
- 22.弹性扩容流程 应用在启动之前可能需要数据库授权,启动之后需要挂载VIP,注册统一监控和 统一日志。如何能自动发现应用的注册信息,采用了模版方式。应用先申请一个 容器,手工注册这些信息,后续的扩容会以该容器为模版来进行自动注册 www.jd.com
- 23.故障迁移流程 当遇到容器或物理机故障,需要进行快速的迁移,迁移后的容器需要保持原有的 IP,避免还要重新申请授权。 www.jd.com
- 24.弹性调度算法 n 调度单元是应用分组在一个机房 的实例。 n 根据应用分组在指定机房的整体 负载情况,预测下一时刻负载来 进行弹性。 www.jd.com
- 25.应用场景 n 双11全面使用弹性云来备战,线上应用在新机房都部署在容器上; n 核心应用如:网站,交易,订单履约,配送,售后,无线,拍拍,金融, O2O等等平稳运行在容器上 www.jd.com
- 26.容器资源利用率 n 以一小时为单位,计算容器的资源最大使用率; www.jd.com
- 27.应用资源利用率 n 根据应用和容器的关系,统计应用资源使用率; www.jd.com
- 28.部门资源利用率 n 根据负责人、部门、应用和容器的关系,统计部门资源使用率; www.jd.com
- 29.一键伸缩 n 批量快照水平扩容; n 批量水平扩容; n 批量水平缩容; n 批量垂直搜索; www.jd.com
- 30.应用部署巡检 n 定期巡检应用容器部署情况,邮件报告; 超载 01 n 单个机房部署过多 n 单个交换机部署过 多 n 单个物理机部署过 多 www.jd.com 未部署 02 n 申请的容器没有使用 规格不一致 03 n 容器规格不均匀,可能 造成流量负载不均匀
- 31.实践经验 n 无状态,同时对磁盘IO要求不高的应用,很适合部署到弹性云; n 微服务应用由于能自动服务注册发现,辅助均衡,非常适合部署到弹性云 n 推荐万兆网络和网卡,避免网络共享出现资源竞争; n 稳定的操作系统版本; n 推荐高配置物理机,合理得CPU和内存比,便于充分利用资源; n 采购高质量的交换机和物理机; www.jd.com
- 32.谢谢! www.jd.com