Using Mesos DNS for Service Discovery 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 with Agent Forwarding
Installing the DC/OS CLI on Linux
Discovering a Marathon Application with Mesos DNS
Discovering a Marathon Application with the Mesos DNS REST API
Discovering Marathon Applications with Multiple Instances
Validate AWS Lab

The hands-on lab is part of this learning path

Ready for the real environment experience?

Time Limit50m


Lab Overview

In DC/OS, Mesos DNS provides service discovery facilities for applications and services to find each other via the domain name system (DNS) and a REST API. Mesos DNS is a DC/OS component that runs on master nodes in the cluster. Whenever applications are deployed in the cluster, Mesos DNS records for application instances are automatically created. This Lab takes you through using Mesos DNS for service discovery in DC/OS.

Lab Objectives

Upon completion of this Lab you will be able to:

  • Discover applications by issuing DNS lookup requests to Mesos DNS
  • Discover applications by issuing HTTP requests to Mesos DNS REST API

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:


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 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab

About the Author
Learning paths46

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.