京东,eBay, Apple等公司的集群历史。
京东
京东集群管理的故事。。。
2013年初
没有资源隔离。开始虚拟化工作,14人团队搞OpenStack+KVM。KVM性能不达标。
2014年秋
Docker进入视野。那时候Docker非常单薄,但是性能达标。2014年秋没有k8s,没有swarm,没法管理那么多Docker。开始选择OpenStack+Docker的架构,并定义为京东第一代容器引擎平台JDOS1.0(JD DataCenter OS)。细节:OpenStack Icehouse + Docker1.3 + OVS2.1.3
2015-2016年
2015年的起步到2016年中完成100%应用运行环境容器化。
研发上线申请计算资源由之前的一周缩短到秒级,硬件资源利用率提高三倍。
量大后发现了不少问题,比如OpenStack用到的MQ丢消息。
进行了多项改进:
- 设计成单集群最少4千台,最多1万台机器
- MQ改成API
- 2个运维搞定几万台物理机
- 基于chef的自动部署,机器上架加电完后到新的节点加入集群资源池可用的效率是 4千台物理节点/天/每人
- 物理故障监控,机器学习预测故障,尤其是硬盘故障
- 软件级故障大多和Linux Kernel有关,组建Linux Kernel组。多容器共享内核,内核对虽隔离但内核层面共享的资源的可以优化,如内存回收等
- 数据库也容器化,磁盘调度算法优化,使之适应SSD,数据库创建时间缩短到1分钟,机器利用率提高5倍,70%数据库容器化
- Storm集群有1000个容器
- 共计15万个容器,平均一台机器<10个容器
2016-2017
第一代系统仍然是Iaas思维。第二代系统以应用和业务为出发点,以调度资源为目标。
- 测试和预发布资源占了总资源的35%,调度到大促活动上
- 新一代容器引擎基于k8s、Docker、OVS等项目
- 使用Harbor来自动发布
信息来源:InfoQ
eBay
eBay集群管理的故事
2013 开始使用OpenStack。 300个OpenStack起步。
2016 15万台服务器上,使用了50多万个核,200PB数据,15个私有云。
每天下载20b个图片,300TB日志
没什么干货,大概意思就是k8s直接搞在OpenStack上还有不少问题,所以他们做了不少处理。
Apple
Apple集群管理的故事
Apple公司2015年在硅谷参加了Mesos的交流会并公布了一些集群管理的消息。
- Apple的Siri使用Mesos。Siri在2015年是第三代。 原因估计是当时k8s不成熟,Mesos已经被多个大公司使用,如Twitter等。
- Apple在Mesos上做了个调度器,J.A.R.V.I.S., 即Just A Rather Very Intelligent Scheduler。这个调度器类似于Mesos提供的Marathon,或Twitter的Aurora。
- 上面有好几千个机器,一百多个服务。
- Siri使用HDFS存储数据。
参考 [1] 国内使用Mesos的公司 [2] 国外使用Mesos的公司