Scale Up a High Availability Cluster (beta)¶
This guide walks through adding a node to an existing Ella Core high-availability cluster. For background on quorum, voter counts, and failover, see High Availability. To bring up the initial cluster, see Deploy a High Availability Cluster.
Beta feature
High availability is currently in beta. It is available for testing and feedback in the main branch but not recommended for production use yet. Expect breaking changes as we iterate on the design and implementation.
Prerequisites¶
- A running cluster deployed via Deploy a High Availability Cluster.
- Admin credentials for the Ella Core UI, or an admin API token.
- A prepared host meeting the system requirements, with Ella Core installed per the Install guide. Do not start the service yet.
Add a node¶
- On any existing node, open the Ella Core UI and navigate to the Cluster page.
- Click Add Node, select the next free node ID (for example
4), click Mint Token, and copy the token. -
On the new host, create
core.yamlusing the same shape as the other nodes. List every node — including the new one — inpeers, and paste the token intojoin-token:core.yaml (new node)cluster: enabled: true node-id: 4 bind-address: "10.0.0.4:7000" peers: - "10.0.0.1:7000" - "10.0.0.2:7000" - "10.0.0.3:7000" - "10.0.0.4:7000" join-token: "ejYM..." -
Start Ella Core on the new host:
sudo snap start --enable ella-core.cored -
On the Cluster page, verify the new node appears and is shown as Healthy. Autopilot promotes it to voter automatically after a short stabilization window.
Verify the new cluster size¶
On the Cluster page, confirm:
- The expected number of voters is listed.
- Exactly one node is Leader.
- Every listed node is Healthy.
- Failure tolerance matches the expected value (
1for 3 voters,2for 5 voters).
Keep peer configs in sync¶
On every existing node, add the new node's host:port to cluster.peers in core.yaml. The change takes effect at the next restart; no immediate restart is required.
Note
All steps in this guide can also be performed via the REST API. See the Cluster API reference for details.