Mantl 0.5 Release
We are pleased to announce the release of Mantl 0.5. Thanks to the hard work from the core team and the amazing contributions from the community, this is a release notable for the number of new features, fixes, and improvements.
New Features
MantlUI
MantlUI has an all-new interface. In addition to providing access to the UIs of the various Mantl components (Mesos / Marathon / Consul / Chronos), it now has an integrated health view. This lets you monitor the health of your cluster at a glance and drill down into specific health checks.
Mantl-API
Mantl-API has now been integrated directly into Mantl — it no longer requires a separate installation. It is secured with the same SSL and authentication support provided for our other user interfaces and API endpoints. Currently, Mantl-API supports installing the following packages:
- Cassandra
- Kafka
- HDFS
- Elasticsearch
We anticipate support for more frameworks (such as ArangoDB, Spark, and Riak) in a future release. Please let us know what you’d like to see.
Edge Role with Traefik load balancer
We have moved to Traefik as the default proxy layer in Mantl. There is now a new edge role that is solely responsible for proxying external traffic into services running on your Mantl cluster. Separating the proxy layer from worker nodes to the new edge role lays the groundwork for future improvements in the network and security architecture of Mantl by providing better role segregation.
This deprecates the haproxy
role that ran on worker nodes. While you can still use the haproxy support, we recommend giving Traefik a spin. See the notes in the haproxy
and traefik
docs for migration instructions.
LVM
We added LVM support on AWS, GCE, and Openstack. GlusterFS and Docker storage have been moved to LVM-based external volumes. The size of the LVM volumes can be configured per role (control, worker, and edge).
Improved DNS Support
We now have DNS support for DNSimple, AWS Route 53, Google Cloud DNS, and CloudFlare through Terraform. If enabled, DNS records will be created for each node. In addition, wildcard records will be configured for your edge nodes which you can use for services running in your cluster.
Mesos-consul update
Mesos-consul now supports registering services in Consul with information exposed from Mesos DiscoveryPorts.
Kafka Logstash output
It is now possible to easily configure Logstash on all nodes to send logs to Kafka brokers.
AWS Enhancements
Besides Route 53 DNS support, we also added the ability to provision an elastic load balancer (with SSL termination) in front of MantlUI running on control nodes. Also, you can now associate a per-role IAM instance profile for all AWS instances.
Docker cleanup
The optional Docker cleanup package provides a cron.hourly
script that keeps your disk free from docker clutter. It removes any containers that have been stopped for more than an hour and removes orphaned docker volumes from your system.
Kubernetes (tech preview)
One of our goals is to provide first-class Kubernetes support on Mantl. We are just beginning our integration and have an experimental Ansible playbook available for building a Kubernetes-based cluster.
At this point, Kubernetes and Mesos should not be combined on a single cluster. To try out a Kubernetes cluster, you can use the following command:
ansible-playbook -e @kubernetes_vars.yml -e @security.yml kubernetes.yml
Notable improvements and bug fixes
- We are now using the Centos-provided package for Docker which should improve stability.
- Configurable root volume size on AWS and GCE.
- Configurable stale reads from Consul.
- Improved hosts file generation.
- Fix for open file limitations in Consul.
- The collectd Docker metric collection was updated to fix high CPU usage problems and to properly handle stopped or removed containers.
- Added timeouts to some Consul health checks.
- Improved Ansible change detection for Docker private registries.
- Consistent role names across cloud providers (control, worker, edge roles).
- Documentation improvements.
Issues
- Our Docker and consul-template based Zookeeper deployment is complicated and sometimes brittle. We are looking at alternatives.
- We are working on improving Calico support.
- If you have a previous version of the
CiscoCloud/microservices-infrastructure
vagrant box, you will need to remove it before you are able to build a Vagrant-based Mantl cluster.
The road to 1.0
Mantl usage continues to grow and each new deployment helps us make the project better. We’re currently planning a 1.0 release for February 2016.
We’ll be moving many of the ansible-based deployment tasks into RPM packages to speed up installation over the next two months. We’ll be making Mantl more modular, so that you can select the scheduling, logging, and networking components you want to deploy.
The team is also committed to automated testing, and we’ll be testing Mantl against multiple cloud providers daily.
Features on the roadmap include:
- Support for the latest version of Mesos and Marathon
- Full integration of Hashicorp’s Vault tool for managing secrets
- Improved Kubernetes support
- Modular networking
- Continuing to improve deployment and management tools
Getting support
If you encounter any issues, please open a Github Issue against the project. We review issues daily.
We also have a gitter chat room. Drop by and ask any questions you might have. We’d be happy to walk you through your first deployment.
Cisco Intercloud Services provides support for OpenStack based deployments of Mantl.