Load Balance Application Traffic with Marathon-LB in DC/OS

Lab Steps

Logging in to the Amazon Web Services Console
Understanding the DC/OS Cluster Architecture
Connecting to the DC/OS Cluster NAT Instance using SSH
Installing the DC/OS CLI on Linux
Deploying Marathon-LB from the DC/OS GUI
Configuring a Marathon Application to Work with Marathon-LB
Performing a Blue/Green Deployment with Marathon-LB
Validate AWS Lab
This lab is currently under maintenance and unavailable. We're actively working to resolve this issue and we apologize for any inconvenience.

DC/OS was declared end of life October 31, 2021 and the content is no longer maintained

Ready for the real environment experience?

Time Limit1h 10m


Lab Overview

Marathon-LB is a reverse proxy load balancer for Marathon applications. Marathon-LB supports TCP, HTTP, and HTTPS protocols and automatically updates its configuration in real-time as you add and remove applications from the cluster. Marathon-LB can be used as a public-facing load balancer running on public agents to allow ingress traffic into the cluster or as an internal load balancer. Load balance application traffic with Marathon-LB in DC/OS and keep traffic flowing by performing a zero downtime blue/green deployment in this Lab.

Lab Objectives

Upon completion of this Lab you will be able to:

  • Deploy Marathon-LB in a DC/OS Cluster
  • Deploy Applications load balanced by Marathon-LB
  • Perform zero downtime blue/green deployments with Marathon-LB

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 to optionally understand the architecture of the pre-created DC/OS cluster

Lab Environment

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

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



September 21st, 2021 - Clarified SSH instructions

August 1st, 2021 - Resolved an issue preventing the DC/OS cluster from provisioning

October 2nd, 2020 - Replaced CoreOS virtual machines (no longer available in AWS) with CentOS

August 31st, 2020 - Updated screenshots for the new EC2 user interface

May 15th, 2019 - Updated a Lab Step to address an issue encountered while installing PycURL 

January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab

About the Author
Learning paths48

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.