Skip to content

Latest commit

 

History

History
105 lines (75 loc) · 2.66 KB

README.md

File metadata and controls

105 lines (75 loc) · 2.66 KB

Running Mesos Cluster with Vagrant

The local cluster will have three nodes:

graph TB;

subgraph mesos-node-0 - 10.141.141.10
  Zookeeper
  MarathonLB[Marathon LB / HAProxy]
  Marathon
  Chronos
  MesosMaster[Mesos Master]
  MesosAgent0[Mesos Agent #0]
  MesosDNS[Mesos DNS]

  Zookeeper --- Marathon
  Zookeeper --- MesosMaster
  MarathonLB --- Marathon
  Marathon --- MesosMaster
  Chronos --- MesosMaster
  MesosMaster --- MesosAgent0
end

subgraph mesos-node-1 - 10.141.141.11
  Zookeeper
  MesosMaster --- MesosAgent1[Mesos Agent #1]
end

subgraph mesos-node-2 - 10.141.141.12
  MesosMaster --- MesosAgent2[Mesos Agent #2]
end
Loading

Setting up the cluster

First, bring up the local cluster VMs:

$ vagrant up

Then install and configure the DCOS CLI:

$ pip install dcoscli
$ dcos config set core.email no-auth@example.com
$ dcos config set core.reporting false
$ dcos config set core.mesos_master_url http://mesos:mesos@10.141.141.10:5050
$ dcos config set marathon.url http://mesos:mesos@10.141.141.10:8080
$ dcos config set package.cache ~/.dcos/cache
$ dcos config set package.sources "https://github.com/mesosphere/universe/archive/version-1.x.zip" ]'

Finally, add the following to /etc/hosts if you plan to deploy example apps descriptors located inside the marathon directory:

# Proxied domains should point to the primary node
10.141.141.10   nginx.mesos.dev
# Mesos node hostnames
10.141.141.10   mesos-node-0.mesos.dev
10.141.141.11   mesos-node-1.mesos.dev
10.141.141.12   mesos-node-2.mesos.dev

Using the cluster

The main user interfaces are:

And the default username and password is mesos / mesos.

To deploy applications use the DCOS CLI and the Marathon task descriptors in the marathon folder:

$ dcos marathon app add marathon/nginx.json

Check that nginx is running:

$ dcos marathon task list
APP        HEALTHY          STARTED               HOST      ID
/nginx       True   2015-11-12T04:04:08.872Z  mesos-node-0  nginx.6bf52812-88f2-11e5-a52e-0242bb5202d1

Once the application has been started, open https://nginx.mesos.dev/.

To undeploy nginx run:

$ dcos marathon app remove nginx

See dcos marathon -h for more commands.

Vagrant cheat sheet

The following commands gives a quick intro to Vagrant

vagrant ssh mesos-node-0   # SSH into a machine
vagrant provision          # Rerun Ansible scripts
vagrant halt               # Stop all cluster VMs
vagrant destroy            # Physically delete VM files

For additional help run vagrant help.