}}

Deploying Services and Pods

Updated: June 20, 2017

DC/OS uses Marathon to manage processes and services. Marathon is the “init system” for DC/OS. Marathon starts and monitors your applications and services, automatically healing failures.

A native Marathon instance is installed as a part of DC/OS installation. After DC/OS has started, you can manage the native Marathon instance through the Services tab of the DC/OS web interface or from the DC/OS CLI with the dcos marathon command.

DC/OS services are Marathon applications that are deployed on DC/OS. DC/OS services are available from a package repository, such as the Mesosphere Universe, or you can create your own.

DC/OS Services

You can run DC/OS services you create or install a package from the Universe package repository. Both services you create and those you install from Universe appear on the Services tab of the DC/OS web interface when they are running.

Services you create yourself are administered by Marathon and can be configured and run from the DC/OS CLI with dcos marathon subcommands (e.g. dcos marathon app add <myapp>.json) or via the DC/OS web interface.

Universe Package Repository

Packaged DC/OS services created by Mesosphere or the community, like Spark or Kafka, appear on the Universe tab of the DC/OS web interface, or you can search for a package from the DC/OS CLI. You can configure and run Universe services from the DC/OS web interface or via the DC/OS CLI with the dcos package install <package-name> command. Visit the Managing Services section to learn more about installing, configuring, and uninstalling services in Universe.

Marathon Configuration Reference

This topic provides all available properties for Marathon application definitions and an example JSON file with all properties shown. Properties Example JSON Marathon Properties ac...

Installing Services

Installing a service using the CLI The general syntax for installing a service with the CLI follows. dcos package install [--options=<config-file-name>.json] <servicename&...

Task Handling

Marathon sorts tasks into these categories: initial, non-terminal, and terminal. Tasks within these categories may have one of several statuses, as summarized in the diagram below....

Configuring Universe Services

Each Universe service installs with a set of default parameters. You can discover the default parameters and change them as desired. This topic describes how to use the DC/OS CLI t...

Granting Access to Services and Groups

You can implement fine-grained user access to services using either the DC/OS GUI or the API. The Marathon permissions allow you to restrict a user’s access to services on ei...

Monitoring Services

You can monitor deployed DC/OS services from the CLI and web interface. Monitoring Universe services CLI From the DC/OS CLI, enter the dcos service command. In this example you can...

Service Ports

Port configuration for applications in Marathon can be confusing and there is an outstanding issue to redesign the ports API. This page attempts to explain more clearly how they wo...

Updating a User-Created Service

You can easily view and update the configuration of a deployed app by using the dcos marathon command. Note: The process for updating packages from the DC/OS Universe is different....

Scaling a Service

This tutorial shows how to scale a service using the web interface and the CLI. Scale Your Service from the Web Interface From the Services tab, put your cursor over the name of th...

Using a Private Docker Registry

To supply credentials to pull from a private Docker registry, create an archive of your Docker credentials, then add it as a URI in your application definition. Step 1: Compress Do...

Exposing a Service

DC/OS agent nodes can be designated as public or private during installation. Public agent nodes provide access from outside of the cluster via infrastructure networking to your DC...

Uninstalling Services

Services can be uninstalled from either the web interface or the CLI. If a Universe service has any reserved resources, you also need to run the framework cleaner script. The frame...

DC/OS Package Management API

You can install DC/OS services by using the Package Management API. DC/OS services are installed from packages that are stored in a package registry, such as the Mesosphere Univers...

Marathon REST API

The Marathon API allows you to manage long-running containerized services (apps and pods). The Marathon API is backed by the Marathon component, which runs on the master nodes. One...

Frequently Asked Questions

We’ve collected some questions we often encounter concerning the usage of DC/OS. Have got a new question you’d like to see? Use the Submit feedback button at the bottom...