Minimal Mesosphere DC/OS 1.8 on CentOS 7.x

Minimal Mesosphere DC/OS v1.8, with TWEAK for running a tiny “marathon-lb” on the “slave” node 🙂

### Prerequisites:

  • Two VMs only! (for a resource constrained lab or laptop)
  • CentOS 7.2 Minimal + SELINUX Disabled + Firewall Disabled + IPv6 Disabled
  • Docker 1.11.X with “–storage-driver=overlay”
  • Catch-all DNS *.a172.sudhaker.com => 192.168.0.172

My configuration

# Role: bootstrap + master + dcos-cli
mesos-mini-01       2 CPU, 4GB RAM, 60GB HDD
# Role: the slave (hybrid)
mesos-mini-02       2 CPU, 4GB RAM, 60GB HDD

minimal-dcos-marathon

Continue reading Minimal Mesosphere DC/OS 1.8 on CentOS 7.x

Simple ‘Hello World’ App on DC/OS

Prerequisites: You have a catch-all DNS configured for your given FQN (example: *.mesos.sudhaker.com) that resolves to public_node(s).

Install ‘external’ load balancer.

tee marathon-lb-external.json << '__EOF__'
{ "marathon-lb":{ "name": "marathon-lb-external", "instances": 1, "haproxy-group": "external", "role": "slave_public", "mem": 512, "cpus": 1} }
__EOF__
 
dcos package install --options=marathon-lb-external.json --yes marathon-lb

Continue reading Simple ‘Hello World’ App on DC/OS

Multi-node Mesosphere DC/OS 1.7 on CentOS 7.x

Setup: CentOS 7.2 Minimal + SELINUX Disabled + Firewall Disabled + IPv6 Disabled

— DEPRECATED (may work; not tested lately) —
— Stay tuned for v1.8 instructions —

mesos-boot          2 CPU, 4GB RAM, 60GB HDD
mesos-master-01     2 CPU, 4GB RAM, 60GB HDD + 200GB HDD
mesos-master-02     2 CPU, 4GB RAM, 60GB HDD + 200GB HDD
mesos-master-03     2 CPU, 4GB RAM, 60GB HDD + 200GB HDD
mesos-node-01       4 CPU, 16GB RAM, 200GB HDD
mesos-node-02       4 CPU, 16GB RAM, 200GB HDD
mesos-node-03       4 CPU, 16GB RAM, 200GB HDD
mesos-node-04       4 CPU, 16GB RAM, 200GB HDD
mesos-node-05       4 CPU, 16GB RAM, 200GB HDD
mesos-node-06       4 CPU, 16GB RAM, 200GB HDD
mesos-node-07       2 CPU, 4GB RAM, 60GB HDD (public)

Continue reading Multi-node Mesosphere DC/OS 1.7 on CentOS 7.x

Install the latest Mesos on CentOS 7.x

Prerequisites: CentOS 7.x minimal install (tested on 7.2) + docker

Setup: single node (all-in-one), Mesosphere repo

— DEPRECATED (will not work, repo broken) —

yum install http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
 
yum install docker mesosphere-zookeeper mesos marathon chronos  -y
 
echo 'docker,mesos' > /etc/mesos-slave/containerizers
 
for SERVICES in docker zookeeper mesos-master mesos-slave marathon chronos; do
    systemctl enable $SERVICES
    systemctl restart $SERVICES
done
 
firewall-cmd --permanent --zone=public --add-port=5050/tcp # mesos-master
firewall-cmd --permanent --zone=public --add-port=5051/tcp # mesos-slave
firewall-cmd --permanent --zone=public --add-port=8080/tcp # marathon
firewall-cmd --permanent --zone=public --add-port=4400/tcp # chronos
firewall-cmd --reload

And then browse to http://IP_ADDRESS:8080/

mesos_marathon