With high availability (HA), Bare Metal Orchestrator deploys a five-node HA cluster that uses highly available services. The Global Controller (called CP1) services deploy on the first node and is a fully functional, scalable Bare Metal Orchestrator cluster to which the two HA nodes (CP2 and CP3) are added. The two HA nodes function as a redundant pair for HA failover and must be reachable from the Global Controller host. A user-supplied Ubuntu 20.04 or Red Hat Enterprise Linux 8.6 environment is required.
When Bare Metal Orchestrator deploys the HA cluster, the Global Controller (CP1) control data and services are fully replicated on the two HA nodes (CP2 and CP3). A keepalive is used to monitor the availability of services on each node in the control plane. An automatic failover is triggered if a node failure is detected. If two control plane nodes fail, the Bare Metal Orchestrator cluster becomes non-operational.
A redundant pair of Load Balancers provides highly reliable management access for the Bare Metal Orchestrator Web UI, CLI, and API using a virtual IP address (VIP). The VIP must be set to an available IP address on the same subnet as the two Load Balancers.
Each Load Balancer is considered a node in the five-node HA cluster and must be reachable from the Global Controller. These servers must support NGINX.
Load Balancer key tasks:
- Setting the virtual IP (VIP) address of the Load Balancers to an available IP address in the same subnet as the two Load Balancers
- Directing front-end traffic to the three control plane nodes for HA redundancy
- Managing load distribution
- Managing control planes
The following figure shows the architecture of a five-node HA deployment with distributed internal storage. The three control plane nodes (CP1, CP2, and CP3) and the redundant pair of Load Balancers comprise the five-node HA cluster. All nodes and the distributed storage volumes are active and must be deployed in a Ubuntu 20.04 LTS or a Red Hat Enterprise Linux 8.6 environment.
Bare Metal Orchestrator cluster data is replicated in storage containers located on the Global Controller (CP1) and the two redundant HA nodes (CP2 and CP3.) The distributed storage volumes replicate the Bare Metal Orchestrator cluster data when using PersistentVolumeClaim (PVC.) For storage node details, see Storage requirements.
Observe the following:
- You cannot upgrade a single node Bare Metal Orchestrator deployment to a five-node HA deployment.
- The Ubuntu 20.04 LTS or Red Hat Enterprise Linux 8.6 operating system is supported. The same operating system must be used on all nodes in the cluster, including the Global Controller (CP1), the two redundant HA nodes (CP2 and CP3), and the Load Balancers.
- When using a local copy of the CLI as a remote client, you must specify the virtual IP (VIP) address of the server that is hosting the Load Balancers in the kubeconfig file. For more about using the CLI as a remote client, see the Bare Metal Orchestrator Command Line Interface User's Guide.