我们很高兴地宣布,Apache Mesos 1.10.0现已发布!除大量的bug修复和改进外,重点有以下几项更新。
新功能和改进
容器资源超配
Mesos现在支持针对每个容器的CPU和内存使用量进行超配,通过预设最大限制(limit)的方式进行配置。以前,您只能针对代理节点上的所有容器启用或不启用CPU超配功能,而现在您可以对每个容器进行控制。
此功能对于批处理的工作负载非常有用,这些工作负载访问代理节点上任何未使用的 CPU 或内存。有助于通过允许利用未分配和/或未使用的 CPU,提高每个集群中机器利用率。
Framework(框架)为任务指定了CPU和内存限制(与资源请求分开),还指定了他们希望在启动任务组时的隔离级别——CPU和内存可以实现在执行容器级别或任务容器级别的隔离。
更多信息请参见:
http://mesos.apache.org/documentation/latest/running-workloads/
Executor Domain Sockets
当在Mesos中启动一个task时,Executor 要通过TCP套接字连接到代理完成注册。这使得Executor 的环境和mesos代理节点的主机网络之间必须允许TCP连接。在某些情况下(例如使用CNI网络的容器),需要通过防火墙关闭代理主机的任何TCP连接。为了支持这种情况,Mesos 1.10.0 建立了新的特性,可以让Executor跟每一个代理节点采用unix domain sockets的方式进行通信。
有关如何使用该功能的更多信息,请参见:
http://mesos.apache.org/documentation/latest/executor-http-api/
V1 Operator API性能
V1 operator API性能已经落后于V0 operator API,因为V0 operator API在最近的版本中进行了重大的性能优化。由于V1 operator API的可扩展性问题,使得V1 operator API无法向用户推荐。
我们将直接序列化引入JSON/protobuf,将批处理机制扩展到由master对这些调用进行并行处理(类似于/state端点),这使得只读V1 operator API调用的性能得到了改善。V1 operator API 性能现在与 V0 HTTP 端点相当。
资源预留更新
为了确保在任务失败时不会向其他地方提供资源,Mesos可以控制哪些框架消耗资源(例如operator使用资源预留来分割集群)或使用动态资源预留。此外,持久卷也会绑定到预留上。
现有的资源预留现在可以通过RESERVE_RESOURCES主API调用更新。例如,允许operator在角色之间非破坏性地移动持久卷。
这里有一个例子:
http://mesos.apache.org/documentation/latest/operator-http-api/#reserve_resources
升级
从Mesos 1.9.0升级到Mesos 1.10.0很简单。有关升级到Mesos 1.10.0的详细信息,请参考升级指南:
http://mesos.apache.org/documentation/latest/upgrades/
社 区
被这次发布的工作所启发?想参与其中吗?有任何反馈吗?我们很乐意听到您的意见!
加入工作小组:
http://mesos.apache.org/community/#working-groups
或在社区中开始对话吧:
http://mesos.apache.org/community/
谢谢您的参与!
特别感谢 Andrei Sekretenko 担任发布经理。感谢24位贡献者,他们使Mesos 1.10.0成为可能。
Adam Cecile, Aleksandr Kuzmitsky, Andrei Budnik, Andrei Sekretenko, Benjamin Bannier, Benjamin Mahler, Benno Evers, Bo Anderson, Charles-Francois Natali, Chun-Hung Hsiao, Damien Gerard, Dominik Dary, Dong Zhu, Greg Mann, Grégoire Seux, James Peach, James Wright, Jonathan Robson, Joseph Wu, Maxime Brugidou, Meng Zhu, Qian Zhang, Vinod Kone。