First Steps

Prerequisites

To get started with this tutorial, you should have access to a running DC/OS OSS cluster with at least a single master node and 3 agent nodes (of which one is a public agent node). If you don’t have these requirements set up, please follow the setup instructions for various cloud providers, on-premise, or vagrant setups.
If you are unsure which option to choose, then we would recommend using the AWS templates.

Note: For this tutorial a setup with a single master node is suffcient, but for running production workloads you should have multiple master nodes.

Objective

We have access to our cluster and have already taken a first look at the UI. You can also access the cluster from your local machine via the DC/OS CLI.
By the end of this section we will have installed the DC/OS CLI and used it to explore our cluster.

Steps

Install the DC/OS CLI

Follow the steps here or the Install CLI instruction in the lower left corner of the DC/OS UI.

Make sure you are authorized to connect to your cluster by running dcos auth login. This is necessary to prevent access from unauthorized people to your cluster.

Check the running services with dcos service. Unless you already installed additional services, there should be two services running on your cluster: marathon (basically the DC/OS init system) and metronome (basically the DC/OS cron scheduler).

Check the connected nodes with dcos node. You should be able to see your connected agents nodes (i.e., not the master nodes) in your cluster.

Explore the logs of the leading mesos master with dcos node log --leader. Mesos is basically the kernel of DC/OS and hence we will explore Mesos logs at multiple times during this tutorial.

To explore more CLI options, enter the dcos help command. There are also help options of the individual commands available e.g., dcos node --help. Alternatively, check the CLI documentation.

Outcome

Congratulations! We have successfully connected to your cluster using the DC/OS CLI, and started exploring some of the CLI commands.
We will make further use of the CLI in the sections that follow.

Deep Dive

We have already encountered several DC/OS components (including Mesos, Marathon, or Metronome) while experimenting with the DC/OS CLI.
But what other components make up DC/OS?

DC/OS components

DC/OS includes a number of components, many of which you can safely ignore for now and hence we only list the most relevant components here.
A description of all components can be found in the documentation.

Marathon starts and monitors DC/OS applications and services.

Mesos is the kernel of DC/OS and responsible for low-level task maintenance.

Mesos DNS provides service discovery within the cluster.

Minuteman is the internal layer 4 load balancer.

Admin Router is an open source NGINX configuration that provides central authentication and proxy to DC/OS services.

Universe is the package repository that holds the DC/OS services (e.g., Apache Spark of Apache Cassandra) that you can install on your cluster directly from the DC/OS UI and CLI.

DC/OS Terminology

Again we will focus on the most important terminology here. More details can be found in the documentation.

Master: aggregates resource offers from all agent nodes and provides them to registered frameworks.

Agent: runs a discrete Mesos task on behalf of a framework. The synonym of agent node is worker or slave node.

Scheduler: the scheduler component of a service, for example, the Marathon scheduler.

Task: a unit of work scheduled by a Mesos framework and executed on a Mesos agent.