Boot Sequence

Understanding the DC/OS component services boot sequence

During installation, the DC/OS component services all start in parallel. They then initialize and become responsive in a relatively consistent sequence because of interdependencies. The DC/OS Diagnostics service monitors component service and node health. A node is marked as healthy when all its component services are healthy.

Master nodes

The following is the boot sequence of DC/OS component services on each master node.

  1. Exhibitor starts
    1. Creates ZooKeeper configuration and launches ZooKeeper
  2. CockroachDB Enterprise
    1. Stores all identity and access management policies
  3. Networking components start
    1. Handles internal DNS translation
    2. Forwards .mesos DNS lookups to Mesos-DNS
    3. Initializes VIP translation
    4. Initializes overlay network
  4. Mesos Master starts
    1. Registers with local ZooKeeper
    2. Discovers other Mesos Masters from ZooKeeper
    3. Elects a leading master
  5. Mesos-DNS starts
    1. Discovers leading Mesos Master (from ZooKeeper or the local mesos-master)
    2. Polls leading Mesos Master for cluster state
  6. Admin Router starts
    1. Discovers leading Mesos Master from Mesos-DNS
    2. Discovers leading Marathon from Mesos-DNS
    3. Redirects unauthorized traffic to authentication components
    4. Proxies API and GUI traffic to discovered components
    5. Proxies admin service traffic to DC/OS services
    6. Serves DC/OS GUI
  7. Container orchestration components start
    1. Registers with local ZooKeeper
    2. Elects a leading master
    3. Discovers leading Mesos Master from Mesos-DNS
    4. Leader registers with leading Mesos Master
  8. DC/OS Diagnostics starts
    1. Polls systemd for component status
    2. Reports node unhealthy until all components (systemd services) are healthy
    3. Reports cluster unhealthy until all master nodes are healthy
  9. Logging and Metrics components start
  10. Security components start

Agent nodes

The following is the boot sequence of DC/OS components on each agent node.

  1. Networking components start
    1. Handles internal DNS translation
    2. Forwards .mesos DNS lookups to Mesos-DNS
    3. Initializes VIP translation
    4. Initializes overlay network
  2. Mesos Agent starts
    1. Discovers leading Mesos Master from ZooKeeper
    2. Registers with leading Mesos Master
    3. Leading Mesos Master connects to the new agent using registered agent IP
    4. Leading Mesos Master starts offering the new agent’s resources to schedulers for new tasks
    5. New DC/OS node become visible in the DC/OS API, GUI, and CLI
  3. Admin Router Agent starts
    1. Discovers leading Mesos Master from Mesos-DNS
    2. Proxies internal API traffic to discovered components
  4. DC/OS Diagnostics starts
    1. Polls systemd for component status
    2. Reports node unhealthy until all components (systemd services) are healthy
  5. Logging and Metrics components start

Services

After DC/OS installation and initialization is complete, you can install DC/OS services. You can install the services through DC/OS package management, either from the Mesosphere Universe or through Marathon directly.

The following is the boot sequence of a DC/OS service:

  1. Leading Mesos Master offers agent node resources to Marathon
  2. Leading Marathon schedules the service onto agent nodes with sufficient resources
  3. Mesos Agent starts the service as one or more containerized tasks

Scheduler services

Some DC/OS services are also schedulers that interact with DC/OS to manage tasks.

The following is the boot sequence of a DC/OS scheduler service:

  1. Leading Mesos Master offers agent node resources to Marathon
  2. Leading Marathon schedules the service onto agent nodes with sufficient resources
  3. Mesos Agent starts the service as one or more containerized tasks
  4. Scheduler service discovers leading Mesos Master from Mesos-DNS
  5. Scheduler service registers with leading Mesos Master
  6. Leading Mesos Master starts offering agent node resources to the new scheduler service

More information

For more information about tasks and services, see Distributed Process Management.