美团点评Docker容器管理平台

美团点评容器平台简介本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”)。该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台。目前该平台为美团点评的外卖、酒店、到店、猫眼等十几个事业部提供容器计算服务,承载线上业务数百个,日均线上请求超过45亿次,业务类型涵盖Web、数据库、缓存、消息队列等。

美团点评容器管理平台架构可以看出,容器平台整体架构自上而下分为业务层、PaaS层、IaaS控制层及宿主机资源层,这与美团云架构基本一致。业务层:代表美团点评使用容器的业务线,他们是容器平台的最终用户。PaaS层:使用容器平台的HTTPAPI,完成容器的编排、部署、弹性伸缩,监控、服务治理等功能,对上面的业务层通过HTTPAPI或者Web的方式提供服务。

美团点评容器平台网络架构数据平面:我们采用万兆网卡,结合OVS-DPDK方案,并进一步优化单流的转发性能,将几个CPU核绑定给OVS-DPDK转发使用,只需要少量的计算资源即可提供万兆的数据转发能力。OVS-DPDK和容器所使用的CPU完全隔离,因此也不影响用户的计算资源。控制平面:我们使用OVS方案。

LVM-Volume方案针对这一问题,我们开发了LVMVolume方案。该方案是在宿主机上创建一个LVMVG作为Volume的存储后端。创建容器时,从VG中创建一个LV当作一块磁盘,挂载到容器里,这样Volume的容量便由LVM加以强限制。得益于LVM机强大的管理能力,我们可以做到对Volume更精细、更高效的管理。

监控数据采集方案针对业务和运维的监控需求,我们基于Libcontainer开发了Mos-Docker-Agent监控模块。该模块从宿主机proc、CGroup等接口采集容器数据,经过加工换算,再通过不同的监控系统driver上报数据。该模块使用GO语言编写,既可以高效率,又可以直接使用Libcontainer。

Set逻辑示意图set是容器平台的调度、弹性扩容/缩容的基本单位。每个set由一个BusyBox容器和若干个业务容器组成,BusyBox容器不负责具体业务,只负责管理set的网络、Volume和IPC配置。

set的配置jsonset内的所有容器共享网络,Volume和IPC。set配置使用一个JSON描述(如图6所示),每一个set实例包含一个ContainerList,Container的字段描述了该容器运行时的配置,重要的字段有:Index,容器编号,代表容器的启动顺序;Image,Docker镜像在Glance上的name或者ID;Options,描述了容器启动时的参数配置。

某业务虚拟机和容器平均单机QPS

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181024A1Q86C00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券