Using Marathon to Schedule Mesos Containers on DC/OS


27 students completed the lab in ~54m

Total available time: 1h:30m

Be the first to rate this lab!

Lab Overview

DC/OS includes the powerful container orchestration tool called Marathon. Marathon supports multiple container types including Mesos and Docker. Marathon can schedule containers while satisfying a variety of constraints, load balance, perform health checks, and even comes with an intuitive graphical user interface (GUI).

In this Lab, you will deploy two Marathon applications using Mesos containers. You will also learn how to use Marathon to schedule Mesos containers on DC/OS from the DC/OS command-line interface (CLI) and the Marathon graphical user interface (GUI).

Lab Objectives

Upon completion of this Lab you will be able to:

  • Write Marathon application definitions
  • Deploy Marathon applications using Mesos containers using the DC/OS CLI
  • Manage and monitor Marathon using the Marathon GUI

Lab Prerequisites

You should be familiar with:

  • Basic DC/OS concepts including master nodes, agents, services, tasks, and Marathon
  • Working at the command-line in Linux
  • Basic Amazon S3 concepts
  • AWS services knowledge is useful in order to understand the architecture of the pre-created DC/OS cluster, but not required

Lab Environment

Before completing the Lab instructions, the environment will look as follows:

After completing the Lab instructions, the environment should look similar to:

Follow these steps to learn by building helpful cloud resources

Logging in to the Amazon Web Services Console

Your first step to start the Lab experience

Understanding the DC/OS Cluster Architecture

Understand the cluster architecture and the resources provisioned for this Lab

Connecting to the Virtual Machine using SSH

Create a secure connection to a remote machine

Running a Marathon Application From the CLI

Run a Marathon application by using a Mesos container

Creating a Golang Web Application Binary

Write Go code to create a simple web app binary

Deploying a Web Application Using Marathon

Deploy a Golang web application to the DC/OS cluster with Mesos containers