Managing Multi-Node Clusters with Embedded Cluster
The topic describes managing nodes in clusters created with Replicated Embedded Cluster, including how to add nodes and enable high-availability for multi-node clusters.
Limitations
Multi-node clusters with Embedded Cluster have the following limitations:
-
Support for multi-node clusters with Embedded Cluster is Beta. Only single-node embedded clusters are Generally Available (GA).
-
High availability for Embedded Cluster in an Alpha feature. This feature is subject to change, including breaking changes. To get access to this feature, reach out to Alex Parker at alexp@replicated.com.
Add Nodes to a Cluster (Beta)
You can add nodes to create a multi-node cluster in online (internet-connected) and air-gapped (limited or no outbound internet access) environments. The Admin Console provides the join command that you use to join nodes to the cluster.
Multi-node clusters are not highly available by default. For information about enabling high availability, see Enable High Availability for Multi-Node Clusters (Alpha) below.
To add nodes to a cluster:
-
(Optional) In the Embedded Cluster Config, configure the
roles
key to customize node roles. For more information, see roles in Embedded Cluster Config. When you are done, create and promote a new release with the updated Config. -
Do one of the following to get the join command from the Admin Console:
-
To add nodes during the application installation process, follow the steps in Online Installation with Embedded Cluster or Air Gap Installation with Embedded Cluster to install. A Nodes screen is displayed as part of the installation flow in the Admin Console that allows you to choose a node role and copy the relevant join command.
-
Otherwise, if you have already installed the application:
-
Log in to the Admin Console.
-
If you promoted a new release that configures the
roles
key in the Embedded Cluster Config, update the instance to the new version. See Performing Updates in Embedded Clusters. -
Go to Cluster Management > Add node at the top of the page.
-
-
-
Either on the Admin Console Nodes screen that is displayed during installation or in the Add a Node dialog, select one or more roles for the new node that you will join. Copy the join command.
Note the following:
-
If the Embedded Cluster Config roles key is not configured, all new nodes joined to the cluster are assigned the
controller
role by default. Thecontroller
role designates nodes that run the Kubernetes control plane. Controller nodes can also run other workloads, such as application or Replicated KOTS workloads. -
Roles are not updated or changed after a node is added. If you need to change a node’s role, reset the node and add it again with the new role.
-
For multi-node clusters with high availability (HA), at least three
controller
nodes are required. You can assign both thecontroller
role and one or morecustom
roles to the same node. For more information about creating HA clusters with Embedded Cluster, see Enable High Availability for Multi-Node Clusters (Alpha) below. -
To add non-controller or worker nodes that do not run the Kubernetes control plane, select one or more
custom
roles for the node and deselect thecontroller
role.
-
-
Do one of the following to make the Embedded Cluster installation assets available on the machine that you will join to the cluster:
-
For online (internet-connected) installations: SSH onto the machine that you will join. Then, use the same commands that you ran during installation to download and untar the Embedded Cluster installation assets on the machine. See Online Installation with Embedded Cluster.
-
For air gap installations with limited or no outbound internet access: On a machine that has internet access, download the Embedded Cluster installation assets (including the air gap bundle) using the same command that you ran during installation. See Air Gap Installation with Embedded Cluster. Then, move the downloaded assets to the air-gapped machine that you will join, and untar.
importantThe Embedded Cluster installation assets on each node must all be the same version. If you use a different version than what is installed elsewhere in the cluster, the cluster will not be stable. To download a specific version of the Embedded Cluster assets, select a version in the Embedded cluster install instructions dialog.
-
-
On the machine that you will join to the cluster, run the join command that you copied from the Admin Console.
Example:
sudo ./APP_SLUG join 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid
Air Gap Example:
sudo ./APP_SLUG join --airgap-bundle APP_SLUG.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid
-
In the Admin Console, either on the installation Nodes screen or on the Cluster Management page, verify that the node appears. Wait for the node's status to change to Ready.
-
Repeat these steps for each node you want to add.