Mesos 0.22.0 has been released!
There’s a nice video which goes through the new features in 0.22.0 as well as some features scheduled for the 0.23.0 release.
I’ve put together some notes I put together while watching the video.
Disk Isolation
Disk Isolation allows the
MesosContainerizer
to enforce a disk quota. Prior to 0.22.0 mesos supported isolation of cpu, memory, pid namespacing,
network ports and bandwidth.
To use this new isolation, two new flags are required:
# enable disk isolation
--isolation=“posix/disk” --enforce_container_disk_quota
# set the quota, in megabytes
-—resources=“disk:64”
Disaster Prevention
There are several mechanisms to prevent disaster that were in place prior to the 0.22.0 release:
- master commits suicide when losing connection to ZK
- compute nodes ignore shutdown requests received from master that is not leader
- recovery remove limit (% of cluster)
In this release the ability to rate limit slave removal was added which could allow administrators to react when they notice the slave removals occurring.
To configure the rate limit, a new flag is available:
# remove one slave per minute
--slave_removal_rate_limit=1/1mins
Labels and Discovery
Tasks can now have labels, which are simply key/value pairs. This allows tasks to be tagged, for example environment: production
.
Additionally, tasks can now include DiscoveryInfo. This information can be used for service discovery as it can provide
common attributes such as environment
, location
and version
. However, it
also supports Ports (which can have names), as well as arbitrary labels.
Video link: https://youtu.be/LC3dlmdc4bc?t=600d168a75c2754f26d5368f4cff414752/include/mesos/mesos.proto#L1093
More features and improvements
There are other features and improvements which are highlighted in the video. I imagine the mesos website will be updated soon with a summary as well.
What to look forward to
With a release being published within the hour, naturally it’s time to look at what’s coming next:
- persistent primitives - to support storage-like services
- dynamic reservations - allow a framework to dynamically reserve offered resources, allowing those resources to only be re-offered to the same framework (to support stateful services)
- ssl support
- optimistic offers - resource offers are currently offered to a single framework at a time, with optimistic offers the offers would be handed out in parallel.
Again, there’s other features, improvements and bug fixes slated for Mesos 0.23.0 but this should at least give a taste for what’s to come.