Working With Marathon Pods in DC/OS
DC/OS was declared end of life October 31, 2021 and the content is no longer maintained
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:
Updates
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
January 9th, 2019 - Added a validation Lab Step to check the work you perform in the Lab
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.