Skip to content

Apache Mesos + Marathon + Haproxy ran on single host as Docker containers.

Notifications You must be signed in to change notification settings

paveldournov/mesos-in-the-box

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mesos-in-the-box

Setup of HolidayCheck AG "dust project" cluster based on docker images.

This setup was made as a PoC to see if rollout of mesos+marathon+docker infrastructure is possible via dockers only.

Also it can serve as a temporary mesos cluster for experimental and development purposes.

Setup

This setup has:

  • 1 instance of zookeeper ver 3.4.6
  • 1 instance of mesos-master ver 1.0.11.0.1-2.0.93.ubuntu1404
  • 1 instance of mesos-slave ver 1.0.11.0.1-2.0.93.ubuntu1404
  • 1 instance of marathon ver 1.3.0-RC6
  • 1 instance of chronos ver 2.4.0
  • 1 instance of bamboo ver 0.2.21 with haproxy ver 1.5.8

Usage

To run this cluster you need to have Linux, docker 1.10.0 and docker-compose 1.7.0 installed (Mac users running boot2docker please adjust address setting in docker-compose.yml from localhost to proper IP). Checkout this repository and run docker-compose up -d inside.

Sometimes due to random order of pulling docker images bamboo enters locked state while not able to find zookeeper. If experienced try to run docker-compose restart

Example deploy

To deploy example container (Ghost blogging platform) enter following command:

curl -X POST -H "Content-Type: application/json" http://localhost:8080/v2/apps [email protected]

Afterwards navigate to http://localhost:8000 and set desired mapping ACL for haproxy (for example "path_beg -i /").

If you now navigate to http://localhost you should be able to see the app.

Notice

This setup uses net:host docker parameter. It means, docker configures a bridge between container network interface and network interdace of your host. Therefore ensure these ports are available:

  • 2181, 2888, 3888 (zookeeper)
  • 5050, 5051 (mesos master and slave)
  • 8080 (marathon)
  • 4400 (chronos)
  • 80, 8000 (haproxy, bamboo)

Links

Todo

Write a HOWTO for clustering this configuration.

Credits

Used repositiories and docker images:

About

Apache Mesos + Marathon + Haproxy ran on single host as Docker containers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%