基于Apache Mesos 构建高可靠,高可用的Jenkins CI

Author: Mao, James

    Mesos 计算框架是一个开源的集群管理平台,他提供了高效的,高可靠的,跨应用/框架的资源隔离和共享,在其之上可以运行Hadoop,Spark,JBoss,Ruby On Rails等应用框架,支持多种资源的计划分配。其中主要的一个目的就是有效的利用和共享计算资源,避免资源的浪费。Mesos 起源于Twitter和AirBnB,Twitter和AirBnB的很多核心服务以及大数据基础架构就是建立在Mesos之上的。从Mesos开源开始就受到了业界广泛的关注,eBay 是最早将这个平台上搭建Jenkins CI的公司之一,同时我们也对完善这个系统做出了贡献,本文就eBay在Apache Mesos 上搭建Jenkins CI 做一个比较系统的介绍。

Jenkins CI的两种模式

    eBay的Jenkins CI 采用的是独占模式,每个人都可以申请一台VM,预装好Jenkins,他的优点是独立,隔离,你在上面执行任务不会影响到其他人,其他人的任务也不会影响到你, 但是缺点也是明显的,一台VM往往有4个CPU,16GB的内存, 这样对资源造成很大的浪费,大部分的时间你申请的VM都处于闲置状态。

    Payal 的CI 采用的是Master/Slave模式, 统一的入口界面,但是你提交的任务是提交到Slave 集群上,这样的好处是大家共享Slave集群资源,不必每人独占VM, VM的数量肯定大幅下降,但是缺点是Jenkins Master/Slave配置不灵活,Master需要知道所有的Slave节点的信息,而且不能做到资源自动化的增加和回收。

    利用Apache Mesos/Marathon就可以很好的解决以上两种模式的缺点。让资源最大力度地的优化,同时配置也灵活并且自动化。

什么是Mesos?

    Mesos是 Apache top level 的项目,是集群管理软件,用以有效利用计算资源,构建一个高可用、容错的、可伸缩的系统。他为分布式的应用和框架提供有效的资源隔离和共享。在此之上你可以运行Hadoop, Hypertable, Spark, Marathon, JBoss, Ruby on Rails, Memcache, Jenkins CI等应用框架。

    Mesos 充分利用了当前流行的cgroups(Linux), zones (Solaris)中提供的CPU/内存/IO/文件系统的隔离特性。Mesos想要做的是将如此多样的计算资源整合在一起,对使用者来说就像一台超级计算机。之前你的架构可能是将不同的应用部署在不同的集群上,比如,为了Jenkins CI, 你搭建了一个集群,为了Jira系统,你搭建在另外一个集群上,为Hadoop,你又建了一个集群。Mesos的目的就是将所有这些集群的资源整合起来,而你的这些应用通过Mesos部署在这个大的集群上,就像你在一台超级计算机上安装了不同的软件一样。

    Google也有类似Mesos这样的项目的 Borg” 和 “Omega”。这些就是Google集群管理的秘密武器。(warehouse-scale computing

Mesos 架构

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值