Working With Marathon Pods in DC/OS

Intermediate

4 students completed the lab in ~30m

Total available time: 50m

Be the first to rate this lab!

Lab Overview

By working with Marathon pods in DC/OS you can share resources among a group of applications on a single agent and manage them as a single unit. This is often used for running a logging or analytics application alongside a primary application. Legacy applications may also fit into a pod without having to update any code. For example, if services in a legacy application communicate over the loopback network interface. In this Lab, you will deploy a couple of pods to illustrate the capabilities and limitations of working with Marathon pods in DC/OS.

Lab Objectives

Upon completion of this Lab you will be able to:

  • Write Marathon pod definitions
  • Manage Marathon pods from the DC/OS GUI and CLI
  • Use volumes, health checks, and endpoints with pods

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
  • 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

Log 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

Installing the DC/OS CLI on Linux

Install the DC/OS command-line interface (CLI) on Linux.

Creating Your First Marathon Pod

Learn the basics of pods by creating a pod with two containers

Creating a More Complex Marathon Pod

Create a pod that uses a shared volume, an endpoint, and a health check