Project: Apache Mesos (Orchestration & Management / Scheduling & Orchestration)
File: 2014-09-03-mesos-0-20-0-released.md

layout: post title: Mesos 0.20.0 Released permalink: /blog/mesos-0-20-0-released/ published: true post_author: display_name: Jie Yu twitter: jie_yu tags: Release, Docker, Containerizer, Network Monitoring, Authorization The latest Mesos release, 0.20.0, is now available for . This version includes the following features and improvements: Native Docker support () Container level network monitoring () Framework authorization () Framework rate limiting () Building against installed third-party dependencies () Full release notes are available in the release . Mesos 0.20.0 introduces first-class support. Framework writers can now launch Docker containers for tasks by specifying `ContainerInfo` in `TaskInfo` or `ExecutorInfo`. The initial version allows the framework writers to specify Docker images for containers, and supports Docker primitives like volumes, entrypoints, etc. Native Docker support is enabled by a new containerizer called DockerContainerizer, which can launch a Docker container as either a Task or an Executor. In 0.20.0, Mesos supports running multiple containerizers simultaneously and allows containerizers to be chosen dynamically based on task/executor info (). Therefore, users can enable native Docker support without changing the containerizer strategy for their existing tasks. Details about native Docker support can be found in the . Prior to Mesos 0.20.0, it was not possible to get the network statistics for each container, which made triaging or debugging network problems difficult in cases where multiple active tasks/executors were running on slave machines. Mesos 0.20.0 solves this problem by adding support for . If you use the Mesos containerizer with the port_mapping isolator, network statistics for each active container can be retrieved through the `/monitor/statistics.json` endpoint on the slave. This network monitoring solution is completely transparent to the tasks running on the slave. Tasks will not notice any difference to running on a slave without network monitoring enabled and were sharing the network of the slave. There is no need for users to change their service discovery mechanism. Authorization support has been implemented via Access Control Lists (ACLs). Authorization allows: Frameworks to (re-)register with authorized roles Frameworks to launch tasks/executors as authorized users Authorized principals to shutdown framework(s) through /shutdown HTTP endpoint For instance, operators can use authorization to only allow framework "foo" (and no other frameworks) to launch executors as "root". For more details please read the . In a multi-framework environment, aims to protect the throughput of high-SLA (e.g., production, service) frameworks by having the master throttle messages from other (e.g., development, batch) frameworks. Using this feature, an operator can specify the maximum number of queries per second and outstanding messages for the low-SLA frameworks on the master. Mesos 0.20.0 now supports building using system installed dependencies. Prior to this release, most of the third-party dependencies of Mesos were included in the project and statically linked into the resulting binaries and libraries. See for more details about these changes. Looking forward, here are a few upcoming features that are being worked on: Improvement of Docker support in Mesos () On top of network monitoring, evaluating and providing support for per-container network isolation () Continued work on state reconciliation for frameworks () We encourage you to try out this release and let us know what you think. If you run into any issues, please let us know on the . Thanks to the 29 who made 0.20.0 possible: Adam B, Alexandra Sava, Anton Lindstrm, Benjamin Hindman, Benjamin Mahler, Bernardo Gomez Palacio, Bill Farner, Chengwei Yang, Chi Zhang, Connor Doyle, Craig Hansen-Sturm, Dave Lester, Dominic Hamon, Gaudio, Ian Downes, Isabel Jimenez, Jiang Yan Xu, Jie Yu, Ken Sipe, Niklas Nielsen, Thomas Rampelberg, Timothy Chen, Timothy St. Clair, Tobias Weingartner, Tom Arnfeld, Vinod Kone, Yifan Gu, Zuyu Zhang