解读 | Mesos 1.2.0 Release

Mesos 1.2.0 Release 解读

Mesos刚刚发布了最新的1.2.0版本, 新版本解决了社区以前呼声比较多的几个问题,看得出Mesos开发组的推动进度仍是很是快速而平稳的。这也是Mesos社区一向的做风, 核心Feature稳定优先,周边功能积极支持。git

根据1.2.0 Release note列出的几个新Feature, 能够看到几个主要的改进都是围绕着容器相关的, 其中既包含对Mesos Containerizer改进, 同时也有对Docker Containerizer功能补充, 这些工做都是围绕以前Mesos社区提出的Unified Containerier目标来进行的。apache

容器化和Docker技术在开发者中间已经普遍流行,未来的服务标准化,容器化应该会作的愈来愈好,Mesos做为调度系统的首选, 顺应潮流也是大势所趋。如何更好地支持容器化应用的调度应该是Mesos近期的工做重点。app

数人云逐一分析Release Note中的各个部分:性能

MESOS-5931

Mesos Containerizer实验性支持auto backend, overlayfs优先于aufs,因为bind backend须要事先存在,须要经过agent启动时的image_provisioner_backend参数明确指出。fetch

解读——spa

相比Docker Containerizer,Volume一直是Mesos Containerier的弱点,因为Layered存储一开始就是Docker的招牌优点,目的是减小运行时容器对存储的过分使用。Docker当前支持Aufs, Overlayfs,DeviceMapper集中CoW形式的Volume, Bind Mounted Volume本质上不是一种CoW存储,目的更可能是帮助在Host和主机之间作存储共享。调试

Docker社区下一步主要推的是OverlayFS和OverlayFS2,而以前生产环境应用比较普遍的DeviceMapper却没有在Mesos支持范围, 看得出Mesos是紧跟Docker脚步的。日志

Agent启动增长了image_provisioner_backend参数, 目的是指定预先设定的bind backend地址。blog

MESOS-6402

(实验)支持Mesos containerizer的rlimit。对于使用Mesos containerizer来启动容器, Isolator添加了对设置POSIX资源限制((rlimits)的支持。POSIX rlimits能够被用来控制一个进程中耗费的资源。细节见http://mesos.apache.org/docum...进程

解读——

Mesos以前支持isolator如posix/cpu, posix/mem, 以及cgroup/cpu等, 此次又增长了rlimit isolator, 能够更灵活的配置Executor好比文件句柄数量,connection数量等。

MESOS-6419

(实验)Teardown未注册的Framework。Master如今对待恢复的Framework将和对待已经注册可是当前断开链接的Framework很是相似。举例来讲,当经过HTTP请求Framework时,恢复的Framework将经过正常的“Frameworks”部分进行报告。它意味着再也不有“孤儿任务”的概念:若是Master知道这个任务,任务就会运行在Framework之下。相似的,在恢复的Framework上的“teardown”操做如今已经正常工做了。

解读——

Teardown unregistered frameworks, 经过这个改进,目测能够TearDown一些超时的Frameworks,能够很好的清理Frameworks下的tasks, 以前困扰Swan【数人云开源Mesos调度器】开发的一个问题就是如何清理Crashed以后的Swan的task问题,经过这个功能能够很好的帮助Swan解决这个问题。

MESOS-6460

(实验)容器的Attach和Exec。这个特性为正在运行的Mesos任务附加一个远程客户端到其stdin, stdout和stderr上提供了新的Agent API,也提供了一个在同一容器内启动新进程做为运行的Mesos任务、并附加到它的stdin, stdout和stderr上的API。在更高的层面,这些API在功能上模仿了Docker attach和Docker exec。这个特性主要是为了让用户可以调试运行中的Mesos任务。

解读——

针对Docker Containerizer的一个改进, 以前因为没有此功能Debug时候都是经过Mesos task找到对应的Docker容器, 接着经过Docker命令进入到容器当中看Docker运行时状态, 还好数人云的产品以前经过Proxy到Docker daemon已经解决了这个问题, 现现在若是Mesos能解决这个问题, 能够考虑经过Mesos attach到容器当中, 不过性能有待考虑, 毕竟运行时日志是个挺可怕的量。

MESOS-6758

(实验性)在Mesos Containerizer支持“Basic” Docker私有镜像仓库验证。直到目前,Mesos Containerizer一直假定Bearer auth,可是如今咱们也为私有镜像仓库支持”Basic auth”。请注意AWS ECS采用了Basic authorization可是尚不可用,由于MESOS-5172的重定向问题。

解读——

私有镜像仓库验证的问题一直是困扰个人问题,此次Mesos终于考虑到这个问题了。 以前广泛的作法,包括Marathon都是将私用仓库的用户名密码达成tar经过fetch功能下载到sandbox当中,Docker executor启动以后发现帐号后模拟登录,其实Docker API早有支持,有了Basic HTTP auth就不用绕一大圈解决登陆问题。

此外,还有200多个bug修复和改进。对于所有的版本更新说明,请移步https://git-wip-us.apache.org...

关于更新:

从Mesos1.1.0滚动更新到Mesos1.2.0很是简单。只有一些小的调整,向后兼容的下降。更新过程当中的细节请参考http://mesos.apache.org/docum...

相关文章
相关标签/搜索