Deploying a high availability automation hub
Overview of the requirements and procedures for a high availability deployment of automation hub.
This guide provides an overview of the requirements and procedures for a high availability deployment of your automation hub.
A high availability (HA) configuration prepares your system for damage mitigation, where a failure in a primary cluster prompts a standby cluster to take over, resulting in no downtime for the customer. HA provides a reliable and scalable solution that minimizes downtime for your Ansible automation environment. In the case of automation hub, you can set up high availability by configuring your automation hub deployment to do so using the Red Hat Ansible Automation Platform (AAP) installer.
Please note that this guide covers deployment of a HA automation hub application stack only. Other HA components, such as database and file system HA, or setting up DNS load balancing, are out of scope for this guide.
Chapter 1. Requirements for a high availability automation hub
Ensure that the following requirements are met as you configure the Ansible Automation Platform installer. Before you run the Ansible Automation Platform installer, you will need to make several changes to the inventory file found in the Ansible Automation Platform installer, as well as set up other components necessary to deploy in HA. For more information about installing automation hub using the Ansible Automation Platform installer, please see the Ansible Automation Platform installation guides.
1.1. Required shared filesystem
A high availability automation hub requires you to have a shared file system already set up in your environment. Before you run the Red Hat Ansible Automation Platform installer, verify that the
/var/lib/pulp directory exists across your cluster as a result of your shared file system installation. The Red Hat Ansible Automation Platform installer will return an error if
/var/lib/pulp is not detected in one of your nodes, causing your HA automation hub setup to fail.
1.2. Network Storage Installation Requirements
If you intend to install a HA automation hub using a network storage on the automation hub nodes itself, you must first install and use
firewalld to open the necessary ports as required by your shared storage system before running the Ansible Automation Platform installer.
Install and configure
firewalld by executing the following commands:
$ dnf install firewalld
Add your network storage under <service> using the following command:
$ firewall-cmd --permanent --add-service=<service>Note
For a list of supported services, use the
$ firewall-cmd --get-servicescommand
Reload to apply the configuration:
$ firewall-cmd --reload
1.3. Required changes to the inventory file
Before you run the Ansible Automation Platform installer using
./setup.sh, ensure that you have made the following configuration changes on your inventory file:
Specify database host IP
Specify the IP address for your database host, using the
automation_pg_port fields. For example:
also specify the IP address for your database host in the [database] section, using the value in the
List all instances in a clustered setup
If installing a clustered setup, replace
localhost ansible_connection=local in the [automationhub] section with the hostname or IP of all instances. For example:
[automationhub] automationhub1.testing.ansible.com ansible_user=cloud-user ansible_host=192.0.2.18 automationhub2.testing.ansible.com ansible_user=cloud-user ansible_host=192.0.2.20 automationhub3.testing.ansible.com ansible_user=cloud-user ansible_host=192.0.2.22
Red Hat Single Sign-On requirements
If you are implementing Red Hat Single Sign-On on your automation hub environment, specify the main automation hub URL that clients will connect to, using the
automationhub_main_url field. For example:
automationhub_main_url = 'https://automationhub.ansible.com'
automationhub_main_url is not specified, the first node in the [automationhub] group will be used as default.