Mesos Cluster

Summary:

Release Notes

The INDIGO-DataCloud PaaS relies on Apache Mesosarrow-up-right for:

  • managed service deployment

  • user applications execution

The instantiation of the high-available Mesos cluster is managed by the INDIGO Orchestratorarrow-up-right in a fully automated way as soon as a user request described by a TOSCA template is submitted. Once the cluster is up and running, it can be re-used for successive requests.

Mesos is able to manage cluster resources (cpu, mem) providing isolation and sharing across distributed applications (frameworks)

Marathonarrow-up-right and Chronosarrow-up-right are two powerful frameworks that can be deployed on top of a Mesos Cluster.

Sophisticated two-level scheduling and efficient resource isolation are the key-features of the Mesos middleware that are exploited in the INDIGO PaaS, in order to run different workloads (long-running services, batch jobs, etc) on the same resources while preserving isolation and prioritizing their execution.

INDIGO PaaS uses:

  • Marathon to deploy, monitor and scale Long-Running services, ensuring that they are always up and running.

  • Chronos to run user applications (jobs), taking care of fetching input data, handling dependencies among jobs, rescheduling failed jobs.

What's New

Features

  • Automatic deployment through Ansible recipes embedded in TOSCA and HOT templates

    • All the services run in docker containers;

  • High-availability of the cluster components:

    • Leader election among master nodes managed by Zookeeper;

    • HA Load-balancing;

      -Service discovery through Consul that provides also DNS functionality and health checks;

    • services are automatically registered in Consul as soon as they are deployed on the cluster

  • The external access to the deployed services is ensured through load-balancers in HA (unique entrypoint: cluster Virtual IP)

  • Cluster elasticity and application auto-scaling through CLUES plugin

INDIGO achievements

Components

The core components are:

These components are distributed on the cluster nodes as shown in the diagram below.

INDIGO Mesos cluster architecture
  • Master nodes

    • On every master node the following (dockerized) components run: zookeeper, mesos master, consul server, marathon, chronos

  • Slave nodes

    • On every slave node the following (dockerized) components run: mesos slave, consul agent

  • Load-balancers

    • On the two load-balancers the following (dockerized) components run: keepalived and haproxy-consul. keepalived ensures the high-availability of the load-balancer managing the cluster Virtual IP.

Ansible roles

The following roles are available in Ansible Galaxy:

These ansible roles can be installed through ansible-galaxy command: ansible-galaxy install indigo-dc.rolename

Releases

Release

Component version

indigo_1

Mesos 0.28.0 Marathon 1.1.1 Chronos 2.4.0

References

Support

Last updated