第一时间 | 数人云总架构师解读Mesos1.0.0

2016年7月27号 Apache 社区发布了 Apache Mesos 1.0.0, 这是 Apache Mesos 的一个里程碑事件。相较于前面的版本, 1.0.0首先是改进了与 docker 的集成方式,弃用了 docker daemon;其次,新版本大力推动解决了接口规范化问题,新的 HTTP API 使得开发者可以更容易的开发 Mesos 框架;最后, 为了更好的知足企业用户的多租户,安全,审计等需求,新版本提供了更细粒度的受权验证机制。下面就由数人云总架构师详细谈一下他对新版本重要功能的理解。docker

HTTP API安全

1.0.0 经过统一的基于 RPC 的 HTTP API 对之前的两种不一样用途的接口--Framework SDK 和 REST API,进行了整合, 这个是最近几个月 Mesos 社区在大力推动了的一个事情。服务器

借助此次重构,社区首先是规范了 Mesos 的接口,为 API 标注了版本信息而且规范了发布流程,从而避免了之前的版本黑盒致使的不兼容问题,减小 breaking news 和客户生产环境的 surprise。网络

其次,之前的局限于开发语言的 Framework SDK ,功能有限的 REST API 都极大限制了第三方开发者的手脚,为开发基于 Mesos 的框架带了额外的困难,另外客户端和服务器的双向通讯也增长了程序的维护成本和局限了程序的部署方式,新版本从软件工程的角度,解耦了上述双向通讯问题。架构

最后,Mesos 也开始支持时间流。上述种种,咱们能够看出 Mesos 社区正在以更开放的态度来便利社区开发者,为各类框架提供更好的对接。框架

一致的容器化技术优化

Mesos 1.0.0 的 agent 无需安装 docker 程序也能够运行 docker 容器了,或者说,Mesos 能够本身解析 docker 镜像来启动容器了。 腹黑的说,继 RKT 以后,Mesos 也抛弃了 docker daemon。咱们知道,虽然在 docker 1.11 以后,containerd 的引入已经解决了 docker daemon 重启带来的容器重启问题,可是宿主机的 init 系统仍然没法直接跟踪进程的生命周期。同时,这也能够看出 Mesos 社区对 docker 技术的把控能力。加密

网络接口

对容器网络标准 CNI 的支持,CNI 标准是多家网络厂商参与制定的容器网络标准,Mesos 兼容了 CNI 标准,至关于间接的支持了 VxLAN, DC/OS overlay, Calico, Weave, Flannel 等多种网络技术。这是继一容器一 IP 功能后,Mesos 的又一重要的网络功能。生命周期

安全

多租户,安全,审计等一直是企业用户对平台软件的基本诉求,Mesos 在 1.0.0 中经过提供更细粒度的受权验证机制对此做出了响应。首先,在 1.0.0 中,Mesos 的全部敏感数据入口都是通过 SSL/TLS 加密的;其次,Mesos 管理员如今能够经过配置 ACLs 来限制用户只能在 WebUI/API 看到本身的任务了,而这就是企业用户的 must-have 要求;最后,Mesos 也提供了完善的 authorizer 接口,企业用户能够经过该接口添加本身特有的安全策略。

GPU 支持

如今你能够经过 Mesos 来跑 TensorFlow 的任务[https://www.youtube.com/watch...]了, 与管理 cpu、内存资源相似, Mesos 如今也将 GPU 资源归入账下。参照 nvidia-docker 的实现, Mesos 如今能够无缝的运行 GPU docker 容器了。同时, Spark, Marathon 和 Aurora 社区也加入了在 Mesos 上调度GPU的行列。

社区合做

最后,朋友多了路好走。 Mesos 社区也在加大与 IBM , Microsoft 和 Nvidia 等厂商的技术合做。其中, IBM 已经成为紧随 Mesosphere 以后的第二大 Mesos 代码贡献厂商,将来,IBM 会在 Mesos 的 optimistic offers, 资源分配优化和兼容 POWER 平台方面投入力量。 同时, Mesos 也推出了 Mesos 运行在 Microsoft 上的试验功能。

相关文章
相关标签/搜索