Overview

This page describes how to set up a Mission Control HA cluster with two or more nodes.

Requirements

Hardware

Setting up a Mission Control HA cluster requires at least two Mission Control application nodes, each with the following minimal hardware requirements:

  • Processor: Minimum 6 cores
  • RAM Memory: 8 GB
  • Storage: 100 GB

Software

  • PostgreSQL: Used as an external database to store cluster configurations, release bundles and Mission Control data.
  • ElasticSearch: Used to store and retrieve historical data of services register in mission control. This is Optional.  If this is not provided, an elastic search cluster will be created by the installer on the provided hosts as in the below diagram (Internal Elasticsearch Cluster)
  • Load Balancer: The load balancer should be configured once all of the cluster nodes are up and running.

General Guidelines

  • All cluster nodes must use the same database.
  • All cluster nodes must have the same Mission Control version.
  • It is recommended to use a PostgreSQL cluster.


Installing Mission Control HA

To get started, make sure your system complies with the above requirements and guidelines before you proceed to download and install Mission Control.

The general steps for installing Mission Control HA are:

  1. Install and configure the PostgreSQL database.
  2. Install and configure Elasticsearch.
  3. Install the first Mission Control cluster node.
  4. Install any additional Mission Control nodes.
    • Use the mc.key from the first node and the PostgreSQL and Elasticsearch connection details to configure the installed node.
  5. Configure a load balancer between the Mission Control cluster nodes.
External Elasticsearch ClusterInternal Elasticsearch Cluster

Installing the First Node

Docker and RPM, DEB Installations

Mission Control HA may be installed as a Docker image or as a native Linux installation for each of the supported flavours, according to the general Mission Control installation instructions.

During the first node installation,

  1. Type "y" to the "Is this a HA (High Availability) installation?" question.

          

      2. Type "n" to the "Are you adding this node to an existing cluster?" question.

          

       3. Follow steps from Using External Databases to provide details of external databases. 

Once you install and run the first Mission Control node, a mc.key file, will be generated and saved in the file system. The mc key is an internal secret, used by Mission Control to encrypt sensitive data and must be synced between the Mission Control cluster nodes. After the application is started, the mc key can be found in the following path:  <JFMC_DATA>/security/mc.key.

For RPM and DEB installations,   elasticsearch searchguard transport SSL certificates should be copied from first node to subsequent nodes. The certificates localhost.key ,localhost.pem and root-ca.pem are available in the Elasticsearch config folder of first node.  

Docker Compose Installation

For the Docker Compose installation, use the Docker Compose file marked for HA post externalizing the database.

Add the following lines to the setenv.sh.

           export NODEHEALTHCHECK_KILL_ONMAXFAILURES=true

           export JFMC_HA_INSTALLATION=true

Installing Additional Nodes

The additional cluster nodes should also be installed according to the general Mission Control installation instructions.

During additional node installation,

  1. Type "y" to the "Is this a HA (High Availability) installation?" question.

          

      2. Type "y" to the "Are you adding this node to an existing cluster?" question.

          

      3. Provide the mc key from first node. If the key content has 2 lines, join the lines with '\\n' as the delimiter.    

             

      4. Follow steps from Using External Databases to provide details of external databases. 


Extending Mission Control from Standalone to HA

From Mission Control 3.4, if you already have a working standalone Mission Control environment.

The existing installation is considered the first cluster node followed by additional nodes that are then added to the HA environment.

Prior to installing the additional Mission Control nodes, perform the following:

Prerequisites
  • Establish a working PostgreSQL.
  • Establish a working ElasticSearch.
  • Get the mc key generated by the first node.

Migrating Data to External DB's

  1. Install the external PostgreSQL database and Elasticsearch.
  2. Stop the app.
  3. Migrate all your data to the PostsgreSQL cluster and Elasticsearch.
  4. Follow steps from Using External Databases to provide details of external databases.
  5. Start the application and ensure it’s up and running