Skip to content

Instantly share code, notes, and snippets.

@lingmann
Forked from solidsnack/getting-started-with-deimos
Last active August 29, 2015 14:00
Show Gist options
  • Save lingmann/11277065 to your computer and use it in GitHub Desktop.
Save lingmann/11277065 to your computer and use it in GitHub Desktop.
To get started with Docker/Marathon/Mesos, you need to install a
new Mesos, a new Marathon, and Deimos, the bridge to Docker.
You'll also need Docker and the JVM. These instructions are for
Ubuntu 13.10.
## Install Mesos prerequisites
:; sudo apt-get update
:; sudo apt-get install zookeeperd default-jre python-setuptools python-protobuf curl pip
## Install a custom build of Mesos, build from this branch:
## https://github.com/mesosphere/mesos/tree/0.19.0-xcon3
:; curl -fL http://downloads.mesosphere.io/master/ubuntu/13.10/mesos_0.19.0-xcon3_amd64.deb -o /tmp/mesos.deb
:; sudo dpkg -i /tmp/mesos.deb
## Install the updated Mesos Python egg, for use in authoring frameworks
:; curl -fL http://downloads.mesosphere.io/master/ubuntu/13.10/mesos_0.19.0-xcon3_amd64.egg -o /tmp/mesos.egg
:; sudo easy_install /tmp/mesos.egg
## Install Deimos, built from:
## https://github.com/mesosphere/deimos/releases/tag/0.2.3
:; sudo pip install deimos
## Install the Marathon Deb package, built from this branch:
## https://github.com/mesosphere/marathon/tree/wip-marathon-executor
:; curl -fL http://downloads.mesosphere.io/marathon/marathon_0.5.0-xcon2_noarch.deb -o /tmp/marathon.deb
:; sudo dpkg -i /tmp/marathon.deb
To configure Mesos to use Deimos, you need to set the contents
of two files:
:; sudo mkdir -p /etc/mesos-slave
:; echo /usr/local/bin/deimos | sudo tee /etc/mesos-slave/containerizer_path
:; echo external | sudo tee /etc/mesos-slave/isolation
## Install Docker
:; sudo apt-get install linux-image-extra-`uname -r`
:; sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
:; sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
:; sudo apt-get update
:; sudo apt-get install lxc-docker
It might be helpful to pre-cache the `libmesos` Docker image,
used for custom executors:
:; sudo docker pull libmesos/ubuntu:13.10
At this point, you should take measures to ensure all services
have started (or restarted). A reboot would be easiest.
To test that it seems to be working, try the Deimos integration
tests:
# If "$eth0_ip" does not work, try $(hostname)
:; git clone https://github.com/mesosphere/deimos.git
:; ./deimos/integration-test/test-suite "$eth0_ip":5050
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment