我们很高兴地宣布,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。
领取专属 10元无门槛券
私享最新 技术干货