From fbf420aa194a47175cdba3d4d3a3232300c6ab24 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 28 Apr 2025 14:47:08 -0600 Subject: [PATCH 01/18] automate node joins --- docs/enterprise/embedded-manage-nodes.mdx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index b046231a91..dd9c09aec4 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -127,7 +127,7 @@ To create a multi-node HA cluster: 1. SSH onto a third node that you want to join to the cluster as a controller. -1. On the third node, run the join command provided in the Admin Console **Cluster Management** tab. +1. On the third node, run the join command. You can get the join command in the Admin Console **Cluster Management** tab or by running `sudo ./APP_SLUG join print-command` on a node that was already joined to the cluster. **Example:** @@ -152,4 +152,18 @@ To enable high availability for an existing Embedded Cluster installation with t sudo ./APP_SLUG enable-ha ``` -Where `APP_SLUG` is the unique slug for the application. \ No newline at end of file +Where `APP_SLUG` is the unique slug for the application. + +## Get the `join` Command to Automate Node Joins + +You can automate node joins with Embedded Cluster. This is especially useful when testing multi-node Embedded Cluster installations where you need to programmatically add nodes to the cluster. + +To automate node joins, update your existing automation to do the following: + +1. On a node that is already joined to the cluster, run the `sudo ./APP_SLUG join print-command` command to get the command for adding a node with the controller role. + +1. Run the join command that was provided in the output of the `join print-command` on the node that you want to add to the cluster. + +### Limitation + +The `join print-command` command always returns the `join` command for joining a node with the controller role. The `join print-command` command does not supported printing the `join` command for any custom node roles defined in the Embedded Cluster Config `roles` key. \ No newline at end of file From be868a2ab781559903fbc7ac6ee857f92dc1552c Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 28 Apr 2025 15:13:03 -0600 Subject: [PATCH 02/18] edits --- docs/enterprise/embedded-manage-nodes.mdx | 54 +++++++++++------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index dd9c09aec4..4221954d1f 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -20,21 +20,15 @@ Multi-node clusters with Embedded Cluster have the following limitations: ## Add Nodes to a Cluster (Beta) {#add-nodes} -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. - -:::note -Multi-node clusters are not highly available by default. For information about enabling high availability, see [Enable High Availability for Multi-Node Clusters (Alpha)](#ha) below. -::: - -To add nodes to a cluster: +To add a node to a cluster with Embedded Cluster: 1. (Optional) In the Embedded Cluster Config, configure the `roles` key to customize node roles. For more information, see [roles](/reference/embedded-config#roles) in _Embedded Cluster Config_. When you are done, create and promote a new release with the updated Config. -1. Do one of the following to get the join command from the Admin Console: +1. Do one of the following: - 1. To add nodes during the application installation process, follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) 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. + 1. Follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) 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. - 1. Otherwise, if you have already installed the application: + 1. Otherwise, to add a node to an existing cluster: 1. Log in to the Admin Console. @@ -45,8 +39,12 @@ To add nodes to a cluster: Add node page in the Admin Console [View a larger version of this image](/images/admin-console-add-node.png) + + :::note + You can also use the `sudo ./APP_SLUG join print-command` command to get the join command. See [Automate Node Joins](#automate-node-joins) below. + ::: -1. 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. +1. Select one or more roles for the node. Copy the join command. Note the following: @@ -77,9 +75,25 @@ To add nodes to a cluster: sudo ./APP_SLUG join --airgap-bundle APP_SLUG.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid ``` +1. If you are adding a third controller node to the cluster, respond to the prompt asking if you want to enable high availability. For more information, see [Create a Multi-Node Cluster with High Availability](#create-ha) below. + 1. 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. -1. Repeat these steps for each node you want to add. +1. Repeat these steps for each node you want to add. + +## Automate Node Joins (Beta) {#automate-node-joins} + +You can automate node joins with Embedded Cluster. This is especially useful when testing multi-node Embedded Cluster installations where you need to programmatically add nodes to the cluster. + +To automate node joins: + +1. On a node that is already joined to the cluster, run the `sudo ./APP_SLUG join print-command` command to get the join command for adding a node with the controller role. + +1. On the node that you want to join, run the join command that was provided in the output of the `join print-command` command. + +### Limitation + +The `join print-command` command always returns the `join` command for joining a node with the controller role. The `join print-command` command does not supported printing the `join` command for any custom node roles defined in the Embedded Cluster Config `roles` key. ## High Availability for Multi-Node Clusters (Alpha) {#ha} @@ -152,18 +166,4 @@ To enable high availability for an existing Embedded Cluster installation with t sudo ./APP_SLUG enable-ha ``` -Where `APP_SLUG` is the unique slug for the application. - -## Get the `join` Command to Automate Node Joins - -You can automate node joins with Embedded Cluster. This is especially useful when testing multi-node Embedded Cluster installations where you need to programmatically add nodes to the cluster. - -To automate node joins, update your existing automation to do the following: - -1. On a node that is already joined to the cluster, run the `sudo ./APP_SLUG join print-command` command to get the command for adding a node with the controller role. - -1. Run the join command that was provided in the output of the `join print-command` on the node that you want to add to the cluster. - -### Limitation - -The `join print-command` command always returns the `join` command for joining a node with the controller role. The `join print-command` command does not supported printing the `join` command for any custom node roles defined in the Embedded Cluster Config `roles` key. \ No newline at end of file +Where `APP_SLUG` is the unique slug for the application. \ No newline at end of file From b5ad9c9c0a1bc0adc426e610546080b16ff837a2 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 08:40:10 -0600 Subject: [PATCH 03/18] edits --- docs/enterprise/embedded-manage-nodes.mdx | 54 +++++++++++++++-------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 4221954d1f..5a39140f10 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -18,6 +18,8 @@ Multi-node clusters with Embedded Cluster have the following limitations: * Setting node roles with the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is Beta. +* The `join print-command` command always returns the command for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins](#automate-node-joins) below. + ## Add Nodes to a Cluster (Beta) {#add-nodes} To add a node to a cluster with Embedded Cluster: @@ -38,11 +40,7 @@ To add a node to a cluster with Embedded Cluster: Add node page in the Admin Console - [View a larger version of this image](/images/admin-console-add-node.png) - - :::note - You can also use the `sudo ./APP_SLUG join print-command` command to get the join command. See [Automate Node Joins](#automate-node-joins) below. - ::: + [View a larger version of this image](/images/admin-console-add-node.png) 1. Select one or more roles for the node. Copy the join command. @@ -52,17 +50,19 @@ To add a node to a cluster with Embedded Cluster: * The role cannot be 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. -1. Do one of the following to make the Embedded Cluster installation assets available on the machine that you will join to the cluster: +1. Do one of the following to make the Embedded Cluster installation assets available on the node 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](/enterprise/installing-embedded). + * **For online (internet-connected) installations**: SSH onto the node 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 node. See [Online Installation with Embedded Cluster](/enterprise/installing-embedded). - * **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](/enterprise/installing-embedded-air-gap). Then, move the downloaded assets to the air-gapped machine that you will join, and untar. + * **For air gap installations with limited or no outbound internet access**: On a node 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](/enterprise/installing-embedded-air-gap). Then, move the downloaded assets to the air-gapped node that you will join, and untar. :::important The 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. ::: -1. On the machine that you will join to the cluster, run the join command that you copied from the Admin Console. +1. SSH onto the node that you will join to the cluster. + +1. Run the join command that you copied. **Example:** @@ -75,25 +75,34 @@ To add a node to a cluster with Embedded Cluster: sudo ./APP_SLUG join --airgap-bundle APP_SLUG.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid ``` -1. If you are adding a third controller node to the cluster, respond to the prompt asking if you want to enable high availability. For more information, see [Create a Multi-Node Cluster with High Availability](#create-ha) below. +1. (Optional) If you are adding a third controller node to the cluster, respond to the prompt asking if you want to enable high availability. For more information, see [Create a Multi-Node Cluster with High Availability](#create-ha) below. 1. 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. 1. Repeat these steps for each node you want to add. -## Automate Node Joins (Beta) {#automate-node-joins} +## Automate Controller Node Joins (Beta) {#automate-node-joins} + +With Embedded Cluster, you can use the command line to automate the process of joining controller nodes to a cluster. This is especially useful when testing multi-node Embedded Cluster installations where you need to programmatically add nodes. -You can automate node joins with Embedded Cluster. This is especially useful when testing multi-node Embedded Cluster installations where you need to programmatically add nodes to the cluster. +To automate controller node joins with Embedded Cluster: -To automate node joins: +1. On a node that is already joined to the cluster, run the following command to get the command for adding a controller node: -1. On a node that is already joined to the cluster, run the `sudo ./APP_SLUG join print-command` command to get the join command for adding a node with the controller role. + ```bash + sudo ./APP_SLUG join print-command + ``` + Where `APP_SLUG` is the unique application slug. -1. On the node that you want to join, run the join command that was provided in the output of the `join print-command` command. + :::note + The `join print-command` command always returns the command for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. + ::: -### Limitation +1. Copy the join command. -The `join print-command` command always returns the `join` command for joining a node with the controller role. The `join print-command` command does not supported printing the `join` command for any custom node roles defined in the Embedded Cluster Config `roles` key. +1. SSH onto the node that you want to join as a controller. + +1. Run the join command that you copied. ## High Availability for Multi-Node Clusters (Alpha) {#ha} @@ -139,9 +148,16 @@ To create a multi-node HA cluster: 1. Set up a cluster with at least two controller nodes. You can do an online (internet-connected) or air gap installation. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap). -1. SSH onto a third node that you want to join to the cluster as a controller. +1. Get the command for joining the third controller node either in the Admin Console **Cluster Management** tab or by running the following command on an existing node: + + ```bash + sudo ./APP_SLUG join print-command + ``` + Where `APP_SLUG` is the unique application slug. + +1. SSH onto the node that you want to add as a third controller. -1. On the third node, run the join command. You can get the join command in the Admin Console **Cluster Management** tab or by running `sudo ./APP_SLUG join print-command` on a node that was already joined to the cluster. +1. On the node, run the join command that you copied. **Example:** From 282dd0c125134164a2335acc8c32f4e1044df6b0 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 08:50:56 -0600 Subject: [PATCH 04/18] edits --- docs/enterprise/embedded-manage-nodes.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 5a39140f10..65743fd982 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -50,17 +50,17 @@ To add a node to a cluster with Embedded Cluster: * The role cannot be 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. -1. Do one of the following to make the Embedded Cluster installation assets available on the node that you will join to the cluster: +1. Do one of the following to make the Embedded Cluster installation assets available on the node that you want to join to the cluster: - * **For online (internet-connected) installations**: SSH onto the node 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 node. See [Online Installation with Embedded Cluster](/enterprise/installing-embedded). + * **For online (internet-connected) installations**: SSH onto the node that you want to join. Then, use the same commands that you ran during installation to download and untar the Embedded Cluster installation assets on the node. See [Online Installation with Embedded Cluster](/enterprise/installing-embedded). - * **For air gap installations with limited or no outbound internet access**: On a node 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](/enterprise/installing-embedded-air-gap). Then, move the downloaded assets to the air-gapped node that you will join, and untar. + * **For air gap installations with limited or no outbound internet access**: On a node 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](/enterprise/installing-embedded-air-gap). Then, move the downloaded assets to the air-gapped node that you want to join, and untar. :::important The 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. ::: -1. SSH onto the node that you will join to the cluster. +1. SSH onto the node that you want to join to the cluster. 1. Run the join command that you copied. From 09dad27ded10d44dff55e350cca89551e252cb7a Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 08:57:46 -0600 Subject: [PATCH 05/18] rm optional ha step for simplicity --- docs/enterprise/embedded-manage-nodes.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 65743fd982..5b6f443ab6 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -74,9 +74,7 @@ To add a node to a cluster with Embedded Cluster: ```bash sudo ./APP_SLUG join --airgap-bundle APP_SLUG.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid ``` - -1. (Optional) If you are adding a third controller node to the cluster, respond to the prompt asking if you want to enable high availability. For more information, see [Create a Multi-Node Cluster with High Availability](#create-ha) below. - + 1. 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. 1. Repeat these steps for each node you want to add. From 1a345d0585bb764197802fd4ef53f62115e1c06d Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 09:03:00 -0600 Subject: [PATCH 06/18] edit description of automating node joins --- docs/enterprise/embedded-manage-nodes.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 5b6f443ab6..19cbb6093e 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -74,14 +74,14 @@ To add a node to a cluster with Embedded Cluster: ```bash sudo ./APP_SLUG join --airgap-bundle APP_SLUG.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid ``` - + 1. 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. 1. Repeat these steps for each node you want to add. ## Automate Controller Node Joins (Beta) {#automate-node-joins} -With Embedded Cluster, you can use the command line to automate the process of joining controller nodes to a cluster. This is especially useful when testing multi-node Embedded Cluster installations where you need to programmatically add nodes. +With Embedded Cluster, you can use the command line to get the join command for controller nodes, rather than having to log into the Admin Console UI to get the command. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. To automate controller node joins with Embedded Cluster: From 97e73b0bade4be227ad6d2f9289344c04b8ab90d Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 10:37:41 -0600 Subject: [PATCH 07/18] edits for updated join experience --- docs/enterprise/embedded-manage-nodes.mdx | 116 +++++++++++++++------- static/images/admin-console-add-node.png | Bin 256392 -> 0 bytes 2 files changed, 82 insertions(+), 34 deletions(-) delete mode 100644 static/images/admin-console-add-node.png diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 19cbb6093e..2a636c3da7 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -18,59 +18,86 @@ Multi-node clusters with Embedded Cluster have the following limitations: * Setting node roles with the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is Beta. -* The `join print-command` command always returns the command for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins](#automate-node-joins) below. +* The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins](#automate-node-joins) below. ## Add Nodes to a Cluster (Beta) {#add-nodes} -To add a node to a cluster with Embedded Cluster: +### Online Installations + +To add a node to a cluster with Embedded Cluster in online (internet-connected) installations: 1. (Optional) In the Embedded Cluster Config, configure the `roles` key to customize node roles. For more information, see [roles](/reference/embedded-config#roles) in _Embedded Cluster Config_. When you are done, create and promote a new release with the updated Config. 1. Do one of the following: - 1. Follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) 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. + 1. Follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) to install. A **Nodes** screen is displayed as part of the installation flow in the Admin Console. 1. Otherwise, to add a node to an existing cluster: - 1. Log in to the Admin Console. - - 1. If you promoted a new release that configures the `roles` key in the Embedded Cluster Config, update the instance to the new version. See [Perform Updates in Embedded Clusters](/enterprise/updating-embedded). - - 1. Go to **Cluster Management > Add node** at the top of the page. + 1. Log in to the Admin Console. + + 1. If you promoted a new release that configures the `roles` key in the Embedded Cluster Config, update the instance to the new version. See [Perform Updates in Embedded Clusters](/enterprise/updating-embedded). + + 1. Go to **Cluster Management > Add node** at the top of the page. + +1. If you configured the [roles](/reference/embedded-config#roles) key to customize node roles, select one or more roles for the node. + + The Admin Console page is updated to display the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster based on the roles you selected. + + Note the following: + + * If the [roles](/reference/embedded-config#roles) key is not configured, all new nodes joined to the cluster are assigned the `controller` role by default. The `controller` role designates nodes that run the Kubernetes control plane. Controller nodes can also run other workloads, such as application or Replicated KOTS workloads. + + * The role cannot be 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. + +1. SSH onto the node that you want to join. Keep the Admin Console page that shows the join commands open for the next steps. + +1. Copy the command to download the Embedded Cluster binary and then run it on the node you want to join. + +1. Copy and run the command to extract the Embedded Cluster binary. + +1. Copy and run the join command to add the node to the cluster. + +### Air Gap Installations + +To add a node to a cluster with Embedded Cluster in air gap installations: + +1. (Optional) In the Embedded Cluster Config, configure the `roles` key to customize node roles. For more information, see [roles](/reference/embedded-config#roles) in _Embedded Cluster Config_. When you are done, create and promote a new release with the updated Config. + +1. Do one of the following: + + 1. Follow the steps in [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) 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 commands. - Add node page in the Admin Console + 1. Otherwise, to add a node to an existing cluster: - [View a larger version of this image](/images/admin-console-add-node.png) + 1. Log in to the Admin Console. + + 1. If you promoted a new release that configures the `roles` key in the Embedded Cluster Config, update the instance to the new version. See [Perform Updates in Embedded Clusters](/enterprise/updating-embedded). + + 1. Go to **Cluster Management > Add node** at the top of the page. -1. Select one or more roles for the node. Copy the join command. +1. If you configured the [roles](/reference/embedded-config#roles) key to customize node roles, select one or more roles for the node. - Note the following: + The Admin Console page is updated to display the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster based on the roles you selected. - * If the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is not configured, all new nodes joined to the cluster are assigned the `controller` role by default. The `controller` role designates nodes that run the Kubernetes control plane. Controller nodes can also run other workloads, such as application or Replicated KOTS workloads. + Note the following: - * The role cannot be 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. + * If the [roles](/reference/embedded-config#roles) key is not configured, all new nodes joined to the cluster are assigned the `controller` role by default. The `controller` role designates nodes that run the Kubernetes control plane. Controller nodes can also run other workloads, such as application or Replicated KOTS workloads. -1. Do one of the following to make the Embedded Cluster installation assets available on the node that you want to join to the cluster: + * The role cannot be 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 online (internet-connected) installations**: SSH onto the node that you want to join. Then, use the same commands that you ran during installation to download and untar the Embedded Cluster installation assets on the node. See [Online Installation with Embedded Cluster](/enterprise/installing-embedded). +1. SSH onto a node that has internet access. Keep the Admin Console page that shows the join commands open for the next steps. - * **For air gap installations with limited or no outbound internet access**: On a node 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](/enterprise/installing-embedded-air-gap). Then, move the downloaded assets to the air-gapped node that you want to join, and untar. +1. On a node that has internet access, copy and run the first command to download the Embedded Cluster installation assets (including the Embedded Cluster binary and the air gap bundle). - :::important - The 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. - ::: +1. Move the downloaded assets to the air-gapped node that you want to join. -1. SSH onto the node that you want to join to the cluster. +1. Untar the Embedded Cluster assets on the node. -1. Run the join command that you copied. +1. Run the join command. **Example:** - ```bash - sudo ./APP_SLUG join 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid - ``` - **Air Gap Example:** - ```bash sudo ./APP_SLUG join --airgap-bundle APP_SLUG.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid ``` @@ -81,20 +108,41 @@ To add a node to a cluster with Embedded Cluster: ## Automate Controller Node Joins (Beta) {#automate-node-joins} -With Embedded Cluster, you can use the command line to get the join command for controller nodes, rather than having to log into the Admin Console UI to get the command. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. +With Embedded Cluster, you can use the command line to get the commands for joining controller nodes, rather than having to log into the Admin Console UI to get the commands. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. To automate controller node joins with Embedded Cluster: -1. On a node that is already joined to the cluster, run the following command to get the command for adding a controller node: +1. On a node that is already joined to the cluster, run the following command to get the commands for adding a new controller node: ```bash - sudo ./APP_SLUG join print-command + sudo ./APP_SLUG get join-command ``` Where `APP_SLUG` is the unique application slug. - :::note - The `join print-command` command always returns the command for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. - ::: + The output of `get join-command` includes the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster. + + **Example:** + ```bash + sudo ./your-app-slug get join-command + ``` + ```bash + curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz && \ + tar -xvf embedded-cluster.tar.gz && \ + sudo ./embedded-cluster join 172.17.0.2:30000 mKjXc3FTBddmX3y4zkSMAKFB + ``` + **Example:** + ```bash + sudo ./your-app-slug get join-command -ojson + ``` + ```bash + { + "commands": [ + "curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz", + "tar -xvf embedded-cluster.tar.gz", + "sudo ./embedded-cluster join 172.17.0.2:30000 GMYTL8RfkaTVBHylpslZy9yc" + ] + } + ``` 1. Copy the join command. @@ -149,7 +197,7 @@ To create a multi-node HA cluster: 1. Get the command for joining the third controller node either in the Admin Console **Cluster Management** tab or by running the following command on an existing node: ```bash - sudo ./APP_SLUG join print-command + sudo ./APP_SLUG get join-command ``` Where `APP_SLUG` is the unique application slug. diff --git a/static/images/admin-console-add-node.png b/static/images/admin-console-add-node.png deleted file mode 100644 index 433f3cd5175251ebe9ea89f2f4e2eb7244d8104a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256392 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 z 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 Date: Tue, 29 Apr 2025 11:08:07 -0600 Subject: [PATCH 08/18] edits for updated join experience --- docs/enterprise/embedded-manage-nodes.mdx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 2a636c3da7..f06dc03556 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -58,6 +58,10 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. Copy and run the join command to add the node to the cluster. +1. 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. + +1. Repeat these steps for each node you want to add. + ### Air Gap Installations To add a node to a cluster with Embedded Cluster in air gap installations: @@ -88,13 +92,13 @@ To add a node to a cluster with Embedded Cluster in air gap installations: 1. SSH onto a node that has internet access. Keep the Admin Console page that shows the join commands open for the next steps. -1. On a node that has internet access, copy and run the first command to download the Embedded Cluster installation assets (including the Embedded Cluster binary and the air gap bundle). +1. On the node with internet access, copy and run the first command to download the Embedded Cluster binary. 1. Move the downloaded assets to the air-gapped node that you want to join. -1. Untar the Embedded Cluster assets on the node. +1. Copy and run the second command from the Admin Console to untar the Embedded Cluster assets. -1. Run the join command. +1. Copy and run the join command. **Example:** From d60e688ab6c1c6de71951a5a6a326a1890067834 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 12:32:58 -0600 Subject: [PATCH 09/18] edits --- docs/enterprise/embedded-manage-nodes.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index f06dc03556..0564c436da 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -116,25 +116,27 @@ With Embedded Cluster, you can use the command line to get the commands for join To automate controller node joins with Embedded Cluster: -1. On a node that is already joined to the cluster, run the following command to get the commands for adding a new controller node: +1. On a node that is already joined to the cluster, run the following command: ```bash sudo ./APP_SLUG get join-command ``` Where `APP_SLUG` is the unique application slug. - The output of `get join-command` includes the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster. + The output lists the commands for downloading the Embedded Cluster binary, extracting the binary, and joining a new controller node to the cluster. **Example:** + ```bash sudo ./your-app-slug get join-command ``` ```bash curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz && \ tar -xvf embedded-cluster.tar.gz && \ - sudo ./embedded-cluster join 172.17.0.2:30000 mKjXc3FTBddmX3y4zkSMAKFB + sudo ./embedded-cluster join 172.17.0.2:30000 1234aBcD ``` - **Example:** + **Example with JSON output:** + ```bash sudo ./your-app-slug get join-command -ojson ``` @@ -143,16 +145,12 @@ To automate controller node joins with Embedded Cluster: "commands": [ "curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz", "tar -xvf embedded-cluster.tar.gz", - "sudo ./embedded-cluster join 172.17.0.2:30000 GMYTL8RfkaTVBHylpslZy9yc" + "sudo ./embedded-cluster join 172.17.0.2:30000 1234aBcD" ] } ``` -1. Copy the join command. - -1. SSH onto the node that you want to join as a controller. - -1. Run the join command that you copied. +1. On the node that you want to join as a controller, run each of the commands from the `get join-command` output. ## High Availability for Multi-Node Clusters (Alpha) {#ha} From 62b0af5ac8787271d153fd40c90b78b44e62de47 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 14:05:45 -0600 Subject: [PATCH 10/18] edits --- docs/enterprise/embedded-manage-nodes.mdx | 63 +++++++++++------------ 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 0564c436da..1a2fd9f59d 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -18,10 +18,10 @@ Multi-node clusters with Embedded Cluster have the following limitations: * Setting node roles with the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is Beta. -* The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins](#automate-node-joins) below. - ## Add Nodes to a Cluster (Beta) {#add-nodes} +This section describes how to add nodes to a cluster with Embedded Cluster in online and air gap installations. + ### Online Installations To add a node to a cluster with Embedded Cluster in online (internet-connected) installations: @@ -40,17 +40,15 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. Go to **Cluster Management > Add node** at the top of the page. -1. If you configured the [roles](/reference/embedded-config#roles) key to customize node roles, select one or more roles for the node. - - The Admin Console page is updated to display the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster based on the roles you selected. +1. If you configured the `roles` key to customize node roles, select one or more roles for the node. - Note the following: + The Admin Console page is updated to display the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster based on the roles you selected. Keep this Admin Console page open for the next steps. - * If the [roles](/reference/embedded-config#roles) key is not configured, all new nodes joined to the cluster are assigned the `controller` role by default. The `controller` role designates nodes that run the Kubernetes control plane. Controller nodes can also run other workloads, such as application or Replicated KOTS workloads. - - * The role cannot be 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. + :::note + The role cannot be 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. + ::: -1. SSH onto the node that you want to join. Keep the Admin Console page that shows the join commands open for the next steps. +1. SSH onto the node that you want to join. 1. Copy the command to download the Embedded Cluster binary and then run it on the node you want to join. @@ -70,7 +68,7 @@ To add a node to a cluster with Embedded Cluster in air gap installations: 1. Do one of the following: - 1. Follow the steps in [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) 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 commands. + 1. Follow the steps in [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) to install. A **Nodes** screen is displayed as part of the installation flow in the Admin Console. 1. Otherwise, to add a node to an existing cluster: @@ -80,30 +78,26 @@ To add a node to a cluster with Embedded Cluster in air gap installations: 1. Go to **Cluster Management > Add node** at the top of the page. -1. If you configured the [roles](/reference/embedded-config#roles) key to customize node roles, select one or more roles for the node. - - The Admin Console page is updated to display the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster based on the roles you selected. - - Note the following: +1. If you configured the `roles` key to customize node roles, select one or more roles for the node. - * If the [roles](/reference/embedded-config#roles) key is not configured, all new nodes joined to the cluster are assigned the `controller` role by default. The `controller` role designates nodes that run the Kubernetes control plane. Controller nodes can also run other workloads, such as application or Replicated KOTS workloads. + The Admin Console page is updated to display the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster based on the roles you selected. Keep this Admin Console page open for the next steps. - * The role cannot be 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. + :::note + The role cannot be 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. + ::: -1. SSH onto a node that has internet access. Keep the Admin Console page that shows the join commands open for the next steps. +1. SSH onto a machine that has internet access. Run the curl command provided in the Admin Console to download the Embedded Cluster binary. -1. On the node with internet access, copy and run the first command to download the Embedded Cluster binary. +1. Move the downloaded assets to the air-gapped node that you want to join to the cluster. -1. Move the downloaded assets to the air-gapped node that you want to join. +1. On the node that you want to join, run the tar command provided in the Admin Console to untar the Embedded Cluster assets. -1. Copy and run the second command from the Admin Console to untar the Embedded Cluster assets. - -1. Copy and run the join command. +1. Run the join command to add the node to the cluster. **Example:** ```bash - sudo ./APP_SLUG join --airgap-bundle APP_SLUG.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid + sudo ./your-app-slug join --airgap-bundle your-app-slug.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid ``` 1. 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. @@ -114,6 +108,9 @@ To add a node to a cluster with Embedded Cluster in air gap installations: With Embedded Cluster, you can use the command line to get the commands for joining controller nodes, rather than having to log into the Admin Console UI to get the commands. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. +**Limitation:** +* The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. + To automate controller node joins with Embedded Cluster: 1. On a node that is already joined to the cluster, run the following command: @@ -127,20 +124,18 @@ To automate controller node joins with Embedded Cluster: **Example:** - ```bash - sudo ./your-app-slug get join-command ``` - ```bash + sudo ./your-app-slug get join-command + curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz && \ tar -xvf embedded-cluster.tar.gz && \ sudo ./embedded-cluster join 172.17.0.2:30000 1234aBcD ``` **Example with JSON output:** - ```bash - sudo ./your-app-slug get join-command -ojson ``` - ```bash + sudo ./your-app-slug get join-command -ojson + { "commands": [ "curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz", @@ -150,7 +145,7 @@ To automate controller node joins with Embedded Cluster: } ``` -1. On the node that you want to join as a controller, run each of the commands from the `get join-command` output. +1. On the node that you want to join as a controller, run each of the commands provided in the `get join-command` output to download the Embedded Cluster binary, extract the binary, and join the node to the cluster. ## High Availability for Multi-Node Clusters (Alpha) {#ha} @@ -176,13 +171,13 @@ Enabling high availability has the following requirements: * The [`enable-ha`](#enable-ha-existing) command is available with Embedded Cluster 2.3.0 and later. -* High availability is supported only for clusters where at least three nodes with the `controller` role are present. +* High availability is supported only for clusters where at least three nodes with the controller role are present. ### Best Practices for High Availability Consider the following best practices and recommendations for creating HA clusters: -* At least three _controller_ nodes that run the Kubernetes control plane are required for HA. This is because clusters use a quorum system, in which more than half the nodes must be up and reachable. In clusters with three controller nodes, the Kubernetes control plane can continue to operate if one node fails because a quorum can still be reached by the remaining two nodes. By default, with Embedded Cluster, all new nodes added to a cluster are controller nodes. For information about customizing the `controller` node role, see [roles](/reference/embedded-config#roles) in _Embedded Cluster Config_. +* At least three _controller_ nodes that run the Kubernetes control plane are required for HA. This is because clusters use a quorum system, in which more than half the nodes must be up and reachable. In clusters with three controller nodes, the Kubernetes control plane can continue to operate if one node fails because a quorum can still be reached by the remaining two nodes. By default, with Embedded Cluster, all new nodes added to a cluster are controller nodes. For information about customizing the controller node role, see [roles](/reference/embedded-config#roles) in _Embedded Cluster Config_. * Always use an odd number of controller nodes in HA clusters. Using an odd number of controller nodes ensures that the cluster can make decisions efficiently with quorum calculations. Clusters with an odd number of controller nodes also avoid split-brain scenarios where the cluster runs as two, independent groups of nodes, resulting in inconsistencies and conflicts. From 44cf3177041e4a744197548a5ea680bbc87a8a78 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 14:10:56 -0600 Subject: [PATCH 11/18] edits --- docs/enterprise/embedded-manage-nodes.mdx | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 1a2fd9f59d..11a525f509 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -108,8 +108,7 @@ To add a node to a cluster with Embedded Cluster in air gap installations: With Embedded Cluster, you can use the command line to get the commands for joining controller nodes, rather than having to log into the Admin Console UI to get the commands. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. -**Limitation:** -* The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. +**Limitation:** The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. To automate controller node joins with Embedded Cluster: @@ -191,7 +190,7 @@ To create a multi-node HA cluster: 1. Set up a cluster with at least two controller nodes. You can do an online (internet-connected) or air gap installation. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap). -1. Get the command for joining the third controller node either in the Admin Console **Cluster Management** tab or by running the following command on an existing node: +1. Get the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the third controller node either in the Admin Console **Cluster Management** tab or by running the following command on an existing node: ```bash sudo ./APP_SLUG get join-command @@ -200,14 +199,7 @@ To create a multi-node HA cluster: 1. SSH onto the node that you want to add as a third controller. -1. On the node, run the join command that you copied. - - **Example:** - - ```bash - sudo ./APP_SLUG join 10.128.0.80:30000 tI13KUWITdIerfdMcWTA4Hpf - ``` - Where `APP_SLUG` is the unique slug for the application. +1. On the node that you want to add as a third controller, run each of the commands that you copied. :::note For Embedded Cluster versions earlier than 2.3.0, pass the `--enable-ha` flag with the `join` command. From 656d8d0576fedba1d892d19d188cc588686f8ab4 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 29 Apr 2025 14:19:16 -0600 Subject: [PATCH 12/18] edits --- docs/enterprise/embedded-manage-nodes.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 11a525f509..f61c45a9b4 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -18,6 +18,8 @@ Multi-node clusters with Embedded Cluster have the following limitations: * Setting node roles with the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is Beta. +* The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins (Beta)](#automate-node-joins) below. + ## Add Nodes to a Cluster (Beta) {#add-nodes} This section describes how to add nodes to a cluster with Embedded Cluster in online and air gap installations. @@ -50,9 +52,9 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. SSH onto the node that you want to join. -1. Copy the command to download the Embedded Cluster binary and then run it on the node you want to join. +1. Copy the curl command to download the Embedded Cluster binary and then run it on the node you want to join. -1. Copy and run the command to extract the Embedded Cluster binary. +1. Copy and run the tar command to extract the Embedded Cluster binary. 1. Copy and run the join command to add the node to the cluster. @@ -108,8 +110,6 @@ To add a node to a cluster with Embedded Cluster in air gap installations: With Embedded Cluster, you can use the command line to get the commands for joining controller nodes, rather than having to log into the Admin Console UI to get the commands. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. -**Limitation:** The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. - To automate controller node joins with Embedded Cluster: 1. On a node that is already joined to the cluster, run the following command: From 88d096cf44b1587108b81b8c85d0146f3814f7db Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Wed, 30 Apr 2025 07:41:42 -0600 Subject: [PATCH 13/18] language edits for consistency --- docs/enterprise/embedded-manage-nodes.mdx | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index f61c45a9b4..6e3487ee33 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -32,7 +32,7 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. Do one of the following: - 1. Follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) to install. A **Nodes** screen is displayed as part of the installation flow in the Admin Console. + 1. Follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) to install. When you see the **Nodes** screen as part of the installation flow in the Admin Console, continue to the next step. 1. Otherwise, to add a node to an existing cluster: @@ -52,7 +52,7 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. SSH onto the node that you want to join. -1. Copy the curl command to download the Embedded Cluster binary and then run it on the node you want to join. +1. Copy the curl command provided in the Admin Console to download the Embedded Cluster binary and then run it on the node you want to join. 1. Copy and run the tar command to extract the Embedded Cluster binary. @@ -70,7 +70,7 @@ To add a node to a cluster with Embedded Cluster in air gap installations: 1. Do one of the following: - 1. Follow the steps in [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) to install. A **Nodes** screen is displayed as part of the installation flow in the Admin Console. + 1. Follow the steps in [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) to install. When you see the **Nodes** screen as part of the installation flow in the Admin Console, continue to the next step. 1. Otherwise, to add a node to an existing cluster: @@ -90,17 +90,9 @@ To add a node to a cluster with Embedded Cluster in air gap installations: 1. SSH onto a machine that has internet access. Run the curl command provided in the Admin Console to download the Embedded Cluster binary. -1. Move the downloaded assets to the air-gapped node that you want to join to the cluster. +1. Move the downloaded binary to the air-gapped node that you want to join to the cluster. -1. On the node that you want to join, run the tar command provided in the Admin Console to untar the Embedded Cluster assets. - -1. Run the join command to add the node to the cluster. - - **Example:** - - ```bash - sudo ./your-app-slug join --airgap-bundle your-app-slug.airgap 10.128.0.32:30000 TxXboDstBAamXaPdleSK7Lid - ``` +1. On the node that you want to join, run the tar command provided in the Admin Console to untar the Embedded Cluster assets. Then, run the join command to add the node to the cluster. 1. 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. From 97cf7821526aa8792a6a1bce0ce6b150f3f7fd8d Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Wed, 30 Apr 2025 12:43:53 -0600 Subject: [PATCH 14/18] Update docs/enterprise/embedded-manage-nodes.mdx Co-authored-by: Alex Parker <7272359+ajp-io@users.noreply.github.com> --- docs/enterprise/embedded-manage-nodes.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index 6e3487ee33..bd3dd9ec4f 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -119,8 +119,8 @@ To automate controller node joins with Embedded Cluster: sudo ./your-app-slug get join-command curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz && \ - tar -xvf embedded-cluster.tar.gz && \ - sudo ./embedded-cluster join 172.17.0.2:30000 1234aBcD + tar -xvf embedded-cluster.tar.gz && \ + sudo ./embedded-cluster join 172.17.0.2:30000 1234aBcD ``` **Example with JSON output:** From f29fd7f21f2c5a4f45f413e2c6f5c50391529cc9 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Wed, 30 Apr 2025 14:40:06 -0600 Subject: [PATCH 15/18] change command name back --- docs/enterprise/embedded-manage-nodes.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index bd3dd9ec4f..f50dc8e199 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -18,7 +18,7 @@ Multi-node clusters with Embedded Cluster have the following limitations: * Setting node roles with the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is Beta. -* The `get join-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins (Beta)](#automate-node-joins) below. +* The `join print-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins (Beta)](#automate-node-joins) below. ## Add Nodes to a Cluster (Beta) {#add-nodes} @@ -52,7 +52,7 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. SSH onto the node that you want to join. -1. Copy the curl command provided in the Admin Console to download the Embedded Cluster binary and then run it on the node you want to join. +1. Copy the curl command provided in the Admin Console to download the Embedded Cluster binary and then run it on the node you want to join. In air gap installations, 1. Copy and run the tar command to extract the Embedded Cluster binary. @@ -107,7 +107,7 @@ To automate controller node joins with Embedded Cluster: 1. On a node that is already joined to the cluster, run the following command: ```bash - sudo ./APP_SLUG get join-command + sudo ./APP_SLUG join print-command ``` Where `APP_SLUG` is the unique application slug. @@ -116,7 +116,7 @@ To automate controller node joins with Embedded Cluster: **Example:** ``` - sudo ./your-app-slug get join-command + sudo ./your-app-slug join print-command curl -k https://172.17.0.2:30000/api/v1/embedded-cluster/binary -o embedded-cluster.tar.gz && \ tar -xvf embedded-cluster.tar.gz && \ @@ -125,7 +125,7 @@ To automate controller node joins with Embedded Cluster: **Example with JSON output:** ``` - sudo ./your-app-slug get join-command -ojson + sudo ./your-app-slug join print-command -ojson { "commands": [ @@ -136,7 +136,7 @@ To automate controller node joins with Embedded Cluster: } ``` -1. On the node that you want to join as a controller, run each of the commands provided in the `get join-command` output to download the Embedded Cluster binary, extract the binary, and join the node to the cluster. +1. On the node that you want to join as a controller, run each of the commands provided in the `join print-command` output to download the Embedded Cluster binary, extract the binary, and join the node to the cluster. ## High Availability for Multi-Node Clusters (Alpha) {#ha} @@ -185,7 +185,7 @@ To create a multi-node HA cluster: 1. Get the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the third controller node either in the Admin Console **Cluster Management** tab or by running the following command on an existing node: ```bash - sudo ./APP_SLUG get join-command + sudo ./APP_SLUG join print-command ``` Where `APP_SLUG` is the unique application slug. From e56961612289ba25952ba9769bdca38fdf607ea2 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Wed, 30 Apr 2025 14:43:11 -0600 Subject: [PATCH 16/18] combine online and air gap steps for adding ndoes --- docs/enterprise/embedded-manage-nodes.mdx | 46 ++--------------------- 1 file changed, 4 insertions(+), 42 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index f50dc8e199..e779cc829a 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -22,17 +22,15 @@ Multi-node clusters with Embedded Cluster have the following limitations: ## Add Nodes to a Cluster (Beta) {#add-nodes} -This section describes how to add nodes to a cluster with Embedded Cluster in online and air gap installations. +This section describes how to add nodes to a cluster with Embedded Cluster. -### Online Installations - -To add a node to a cluster with Embedded Cluster in online (internet-connected) installations: +To add a node to a cluster with Embedded Cluster: 1. (Optional) In the Embedded Cluster Config, configure the `roles` key to customize node roles. For more information, see [roles](/reference/embedded-config#roles) in _Embedded Cluster Config_. When you are done, create and promote a new release with the updated Config. 1. Do one of the following: - 1. Follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) to install. When you see the **Nodes** screen as part of the installation flow in the Admin Console, continue to the next step. + 1. Follow the steps in [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap)to install. When you see the **Nodes** screen as part of the installation flow in the Admin Console, continue to the next step. 1. Otherwise, to add a node to an existing cluster: @@ -52,7 +50,7 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. SSH onto the node that you want to join. -1. Copy the curl command provided in the Admin Console to download the Embedded Cluster binary and then run it on the node you want to join. In air gap installations, +1. Copy the curl command provided in the Admin Console to download the Embedded Cluster binary and then run it on the node you want to join. 1. Copy and run the tar command to extract the Embedded Cluster binary. @@ -62,42 +60,6 @@ To add a node to a cluster with Embedded Cluster in online (internet-connected) 1. Repeat these steps for each node you want to add. -### Air Gap Installations - -To add a node to a cluster with Embedded Cluster in air gap installations: - -1. (Optional) In the Embedded Cluster Config, configure the `roles` key to customize node roles. For more information, see [roles](/reference/embedded-config#roles) in _Embedded Cluster Config_. When you are done, create and promote a new release with the updated Config. - -1. Do one of the following: - - 1. Follow the steps in [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) to install. When you see the **Nodes** screen as part of the installation flow in the Admin Console, continue to the next step. - - 1. Otherwise, to add a node to an existing cluster: - - 1. Log in to the Admin Console. - - 1. If you promoted a new release that configures the `roles` key in the Embedded Cluster Config, update the instance to the new version. See [Perform Updates in Embedded Clusters](/enterprise/updating-embedded). - - 1. Go to **Cluster Management > Add node** at the top of the page. - -1. If you configured the `roles` key to customize node roles, select one or more roles for the node. - - The Admin Console page is updated to display the commands for downloading the Embedded Cluster binary, extracting the binary, and joining the node to the cluster based on the roles you selected. Keep this Admin Console page open for the next steps. - - :::note - The role cannot be 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. - ::: - -1. SSH onto a machine that has internet access. Run the curl command provided in the Admin Console to download the Embedded Cluster binary. - -1. Move the downloaded binary to the air-gapped node that you want to join to the cluster. - -1. On the node that you want to join, run the tar command provided in the Admin Console to untar the Embedded Cluster assets. Then, run the join command to add the node to the cluster. - -1. 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. - -1. Repeat these steps for each node you want to add. - ## Automate Controller Node Joins (Beta) {#automate-node-joins} With Embedded Cluster, you can use the command line to get the commands for joining controller nodes, rather than having to log into the Admin Console UI to get the commands. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. From 637d98660bae2ff4173d1858c2a060c8b40a9b65 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 6 May 2025 15:30:10 -0600 Subject: [PATCH 17/18] remove alpha and beta warnings --- docs/enterprise/embedded-manage-nodes.mdx | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/docs/enterprise/embedded-manage-nodes.mdx b/docs/enterprise/embedded-manage-nodes.mdx index e779cc829a..474c132faf 100644 --- a/docs/enterprise/embedded-manage-nodes.mdx +++ b/docs/enterprise/embedded-manage-nodes.mdx @@ -8,19 +8,15 @@ This topic describes managing nodes in clusters created with Replicated Embedded 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. For more information about this feature, reach out to Alex Parker at [alexp@replicated.com](mailto:alexp@replicated.com). +* Setting node roles with the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is Beta. * The same Embedded Cluster data directory used at installation is used for all nodes joined to the cluster. This is either the default `/var/lib/embedded-cluster` directory or the directory set with the [`--data-dir`](/reference/embedded-cluster-install#flags) flag. You cannot choose a different data directory for Embedded Cluster when joining nodes. * More than one controller node should not be joined at the same time. When joining a controller node, a warning is printed that explains that the user should not attempt to join another node until the controller node joins successfully. -* Setting node roles with the Embedded Cluster Config [roles](/reference/embedded-config#roles) key is Beta. +* The `join print-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins](#automate-node-joins) below. -* The `join print-command` command always returns the commands for joining a node with the controller role. It does not support printing the join command for any custom node roles defined in the Embedded Cluster Config `roles` key. See [Automate Controller Node Joins (Beta)](#automate-node-joins) below. - -## Add Nodes to a Cluster (Beta) {#add-nodes} +## Add Nodes to a Cluster {#add-nodes} This section describes how to add nodes to a cluster with Embedded Cluster. @@ -60,7 +56,7 @@ To add a node to a cluster with Embedded Cluster: 1. Repeat these steps for each node you want to add. -## Automate Controller Node Joins (Beta) {#automate-node-joins} +## Automate Controller Node Joins {#automate-node-joins} With Embedded Cluster, you can use the command line to get the commands for joining controller nodes, rather than having to log into the Admin Console UI to get the commands. This is especially useful when testing multi-node Embedded Cluster installations where you need to automate the process of joining controller nodes to a cluster. @@ -100,11 +96,7 @@ To automate controller node joins with Embedded Cluster: 1. On the node that you want to join as a controller, run each of the commands provided in the `join print-command` output to download the Embedded Cluster binary, extract the binary, and join the node to the cluster. -## High Availability for Multi-Node Clusters (Alpha) {#ha} - -:::important -High availability for Embedded Cluster in an Alpha feature. This feature is subject to change, including breaking changes. For more information about this feature, reach out to Alex Parker at [alexp@replicated.com](mailto:alexp@replicated.com). -::: +## High Availability for Multi-Node Clusters {#ha} Multi-node clusters are not highly available by default. The first node of the cluster holds important data for Kubernetes and KOTS, such that the loss of this node would be catastrophic for the cluster. Enabling high availability requires that at least three controller nodes are present in the cluster. From 909dc7e454c9bfc93a9dc8098067aec52faa9e76 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 6 May 2025 15:31:20 -0600 Subject: [PATCH 18/18] remove alpha beta limitations --- docs/vendor/embedded-overview.mdx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/vendor/embedded-overview.mdx b/docs/vendor/embedded-overview.mdx index 3010487d8b..13b296656e 100644 --- a/docs/vendor/embedded-overview.mdx +++ b/docs/vendor/embedded-overview.mdx @@ -53,10 +53,6 @@ Additionally, any Helm [`extensions`](/reference/embedded-config#extensions) tha ### Multi-Node Architecture with High Availability -:::note -High availability (HA) for multi-node installations with Embedded Cluster is Alpha and is not enabled by default. For more informaiton about enabling HA, see [Enable High Availability for Multi-Node Clusters (Alpha)](/enterprise/embedded-manage-nodes#ha). -::: - ## Built-In Extensions {#built-in-extensions} @@ -101,8 +97,6 @@ Embedded Cluster has the following limitations: * **Migration from kURL**: We are helping several customers migrate from kURL to Embedded Cluster. For more information about migrating from kURL to Embedded Cluster, including key considerations before migrating and an example step-by-step migration process, see [Replicated kURL to Embedded Cluster Migration](https://docs.google.com/document/d/1Qw9owCK4xNXHRRmxDgAq_NJdxQ4O-6w2rWk_luzBD7A/edit?tab=t.0). For additional questions and to begin the migration process for your application, reach out to Alex Parker at alexp@replicated.com. -* **Multi-node support is in beta**: Support for multi-node embedded clusters is in beta, and enabling high availability for multi-node clusters is in alpha. Only single-node embedded clusters are generally available. For more information, see [Manage Multi-Node Clusters with Embedded Cluster](/enterprise/embedded-manage-nodes). - * **Disaster recovery is in alpha**: Disaster Recovery for Embedded Cluster installations is in alpha. For more information, see [Disaster Recovery for Embedded Cluster (Alpha)](/vendor/embedded-disaster-recovery). * **Partial rollback support**: In Embedded Cluster 1.17.0 and later, rollbacks are supported only when rolling back to a version where there is no change to the [Embedded Cluster Config](/reference/embedded-config) compared to the currently-installed version. For example, users can roll back to release version 1.0.0 after upgrading to 1.1.0 only if both 1.0.0 and 1.1.0 use the same Embedded Cluster Config. For more information about how to enable rollbacks for your application in the KOTS Application custom resource, see [allowRollback](/reference/custom-resource-application#allowrollback) in _Application_.