Engineering
November 08, 2019

DC/OS series [Part 1] - Quick look & Installation

What is DC/OS ?

DC/OS - Data center OS is based on the production proven Apache Mesos distributed systems kernel, combining years of real-life experience with best practices for building and running modern applications in production.

A DC/OS cluster is composed of three types of nodes: masters, private agents, and public agents.

There are some nodes that we will talk about:

  • Bootstrap: we use this node to setup some configurations, to initialize a file which is called dcos_generate_config.sh, we will use this file to install DCOS into other nodes.
  • Master: This node monitors all metrics from all other child nodes (public agent, private agent)
  • Public agent: A public agent node is an agent node that is on a network that allows ingress from outside of the cluster via the cluster’s infrastructure networking.
  • Private agent: A private agent node is an agent node that is on a network that does not have ingress access from outside of the cluster via the cluster’s infrastructure networking.

Why DC/OS ?

Build modern apps using state of the art technologies such as containers and big data services, and confidently move from development to production.

How can we install it ?

System requirement -> Here

Installing

OK. Let’s go to the most excited section - Installing DC/OS!

Currenly, DC/OS supported to run with specific installation guideline for each Provider:

  • Amazon Web Service (AWS)
  • Azure
  • Digital Ocean
  • GCE
  • Packet

In this article, I will show you the way to install DC/OS generally. So that you can apply it for every clouds that you’re using.

Step 1 - Prepare on bootstrap node

  • Create a directory named genconf

  • Create a configuration file and save as genconf/config.yaml

  • Create a ip-detect script

  • Download the DC/OS installer

  • From the bootstrap node, run the DC/OS installer shell script to generate a customized DC/OS build file. The setup script extracts a Docker container that uses the generic DC/OS install files to create customized DC/OS build files for your cluster. The build files are output to ./genconf/serve/.

  • From your home directory, run this command to host the DC/OS install package through an NGINX Docker container. For <your-port>, specify the port value that is used in the bootstrap_url.

Step 2 - Install DC/OS to master nodes

  • SSH to your master nodes:

  • Make a new directory and navigate to it:

  • Download the DC/OS installer from the NGINX Docker container, where and <your_port> are specified inbootstrap_url:

  • Run this command to install DC/OS on your master nodes:

Step 3 - Install DC/OS to master nodes

  • SSH to your nodes:

  • Make a new directory and navigate to it:

  • Download the DC/OS installer from the NGINX Docker container, where <bootstrap-ip>and <your_port> are specified in bootstrap_url:

  • Run this command to install DC/OS on your agent nodes. You must designate your agent nodes as public or private.

\ + Private agent nodes: sudo bash dcos_install.sh slave

\ + Public agent nodes: sudo bash dcos_install.sh public

Step 4 - Launch the DC/OS

You can access to web interface at http://<master-node-public-ip>/and bingo !

We’re done.

If this doesn’t work, take a look at the troubleshooting docs.

Work with us

Drop us a message if you need any helps from the Dwarves

Let's build something