-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: multi-node airgap documentation #4281
Merged
Merged
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
6ed8f21
docs: multi-node airgap documentation
lennessyy af4a124
docs: update progress
lennessyy 1b66044
docs: add delete and scale docs
lennessyy dda9d55
docs: add prereqs for deletion
lennessyy 8f38905
Merge branch 'master' into airgap-multinode
lennessyy f398edf
Merge branch 'master' into airgap-multinode
lennessyy b8483de
docs: add draft
lennessyy d39dc7a
docs: add host unlinking instructions
lennessyy 97fe239
docs: minor edit
lennessyy c27e18f
docs: edits
lennessyy 4f02940
docs: adjust page order
lennessyy e727c33
docs: adjust page order
lennessyy 2427bd7
docs: address review feedback
lennessyy 3d83075
docs: add prerequisites
lennessyy a3a0ac7
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] 3a6da05
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] a9164b7
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] bbb81b3
docs: fix broken anchors
lennessyy dc0d321
docs: webp
lennessyy 9e44fa5
docs: proofread
lennessyy 2fe9917
webp convert
lennessyy 240cc37
docs: add links on index page
lennessyy c3cd92b
docs: typo
lennessyy 95f09ed
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] 14ae2e7
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] b90dfc3
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] 26605ec
docs: small change
lennessyy 7b2a945
Merge branch 'airgap-multinode' of https://github.com/spectrocloud/li…
lennessyy fde6052
docs: plural
lennessyy 37a2221
docs: clarify leader nodes
lennessyy 4436426
docs: simplify
lennessyy 1d94f1d
Apply suggestions from code review
lennessyy e873b0e
Apply suggestions from code review
lennessyy 91aba6b
ci: auto-formatting prettier issues
lennessyy 1d71bcf
docs: edit
lennessyy baec566
Merge branch 'airgap-multinode' of https://github.com/spectrocloud/li…
lennessyy 4e7622a
docs: add warning about local path provisioner
lennessyy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,66 @@ | ||
--- | ||
sidebar_label: "Create Local Cluster" | ||
title: "Create Local Cluster" | ||
description: "Instructions for creating a locally manageg cluster in Edge Host Management Console." | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nice catch 😄 |
||
description: "Instructions for creating a locally managed cluster in Edge Host Management Console." | ||
hide_table_of_contents: false | ||
sidebar_position: 30 | ||
sidebar_position: 20 | ||
tags: ["edge"] | ||
--- | ||
|
||
You can create and manage a single-node cluster on an airgapped Edge host locally from Local UI. This page guides you | ||
through how to create a cluster using Local UI. | ||
You can create and manage single-node as well as multi-node clusters on airgapped hosts locally from Local UI. This page | ||
teaches you how to create a cluster using Local UI. | ||
|
||
:::preview | ||
|
||
::: | ||
|
||
## Limitations | ||
|
||
- You can only create single-node clusters consisting solely of the Edge host you create the cluster from. You cannot | ||
include other Edge hosts in the same local or remote network. | ||
- For multi-node clusters, all hosts must be deployed in the same deployment mode. For more information, refer to | ||
[Deployment Modes](../../../../deployment-modes/deployment-modes.md). | ||
|
||
- For hosts that are deployed in agent mode, all hosts must share the same Operating System (OS). | ||
lennessyy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
<!-- prettier-ignore --> | ||
- For multi-node clusters, do not use the | ||
<VersionedLink text="Local Path Provisioner Pack" url="/integrations/packs/?pack=csi-local-path-provisioner" />. This | ||
is because whenever a node is drained during an upgrade or for any other reason, the volumes will not dynamically move | ||
with the local path provisioner. | ||
|
||
## Prerequisites | ||
lennessyy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
- Network access to the Edge device’s IP and port where Local UI is exposed. The default port is 5080. | ||
|
||
- The `stylus.enableMultiNode` parameter is set to `true` in your user data configuration. For more information, refer | ||
to [Prepare User Data](../../edgeforge-workflow/prepare-user-data.md). | ||
|
||
- The `stylus.installationMode` parameter is set to `airgap` in your user data configuration for all your hosts. | ||
|
||
- Credentials to log into Local UI. Any OS user can be used to log in to Local UI. | ||
|
||
- You have uploaded the necessary software artifacts to the Edge host or included the artifacts in the Edge Installer | ||
ISO during EdgeForge. For more information, refer to [Upload Content Bundle](./upload-content-bundle.md) and | ||
[Build Content Bundle](../../edgeforge-workflow/palette-canvos/build-content-bundle.md). | ||
|
||
- You must ensure that the Edge host has a stable IP address. You have the following options to achieve a stable IP | ||
address: | ||
:::warning | ||
|
||
Content bundles must be built with a Palette Edge CLI version that is later than `4.5.7`. Visit the | ||
[Downloads](../../../../spectro-downloads.md#palette-edge-cli) page to download the appropriate version of the Palette | ||
Edge CLI to build the content bundle. | ||
|
||
::: | ||
|
||
- You must ensure your hosts have stable IP addresses. You have the following options to achieve a stable IP address: | ||
|
||
- Use a static IP address. Contact your network administrator to assign the Edge host a static IP address. | ||
- Use Dynamic Host Configuration Protocol (DHCP) reservations to reserve an IP address in a DHCP network. Contact your | ||
network administrator to reserve IP addresses for your Edge hosts in a DHCP network. | ||
- Enable network overlay on your Edge cluster. Network overlay can only be enabled during cluster creation. For more | ||
information about network overlay, refer to [Enable Overlay Network](../../networking/vxlan-overlay.md). | ||
|
||
- To create multi-node clusters, all nodes to be included in the cluster must be linked. For more information, refer to | ||
[Link Hosts](./link-hosts.md). | ||
|
||
## Create Local Cluster | ||
|
||
1. Log into Local UI by visiting the 5080 port of your Edge device's IP address or domain name. For more information, | ||
|
@@ -84,7 +107,12 @@ through how to create a cluster using Local UI. | |
more information, refer to [Enable Overlay Network](../../networking/vxlan-overlay.md). If you enable the overlay | ||
network, you need to specify a CIDR range to be used by the overlay network. | ||
|
||
8. In the **Node Config** step, you can specify configurations for the control plane pool of your single-node cluster. | ||
8. In the **Node Config** step, you can specify configurations for worker pools and control plane pools. To assign a | ||
host to a node pool, click **Add Edge Hosts** in the corresponding node pool and select the host to add to the pool. | ||
For multi-node clusters, the leader node is a mandatory control plane node and cannot be unassigned. Additionally, | ||
you must ensure that you have an odd number of nodes in the control plane. Once a cluster is formed, every node in | ||
lennessyy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
the control plane will be considered a leader node. | ||
|
||
For more information about node pool configurations, refer to [Node pools](../../../cluster-management/node-pool.md). | ||
After you finish configuration, click **Next**. | ||
|
||
|
@@ -93,6 +121,6 @@ through how to create a cluster using Local UI. | |
|
||
## Validate | ||
|
||
1. Log in to Local UI. | ||
1. Log in to [Local UI](../host-management/access-console.md). | ||
|
||
2. Click **Cluster**. Verify that your cluster has entered the running status. |
44 changes: 44 additions & 0 deletions
44
docs/docs-content/clusters/edge/local-ui/cluster-management/delete-cluster.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
sidebar_label: "Delete a Cluster" | ||
title: "Delete a Cluster" | ||
description: "Learn how to delete a cluster with Local UI." | ||
hide_table_of_contents: false | ||
sidebar_position: 90 | ||
tags: ["edge"] | ||
--- | ||
|
||
You can delete an active cluster using Local UI. Deleting a cluster will return all nodes in the cluster to **Ready** | ||
status. Deleting a cluster does not unlink the linked hosts. If you want to use the hosts that were freed from the | ||
cluster, you must unlink them first. For more information about linking or unlinking hosts, refer to | ||
lennessyy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
[Link Hosts](./link-hosts.md). | ||
|
||
When you delete a cluster, the node where you performed the delete action from will be the new leader node of the group. | ||
For more information about leader nodes, refer to [Link Hosts](link-hosts.md#leader-nodes). | ||
|
||
## Prerequisites | ||
|
||
- Access to [Local UI](../host-management/access-console.md). Any Operating System user can be used to log in to Local | ||
UI. | ||
|
||
- An active cluster deployed and managed by Local UI. | ||
|
||
## Delete a Cluster | ||
|
||
1. Log in to [Local UI](../host-management/access-console.md) on the leader node where your cluster is deployed. | ||
|
||
2. From the left **Main Menu**, click **Cluster**. | ||
|
||
3. In the upper-right corner of the **Cluster** page, click **Actions**. | ||
|
||
4. In the **drop-down Menu** that appears, click **Delete**. | ||
|
||
5. In the pop-up window that appears, click **Confirm**. During the deletion of the cluster, Local UI will become | ||
unavailable as the nodes reboot after cluster deletion. | ||
|
||
## Validate | ||
|
||
1. Log in to [Local UI](../host-management/access-console.md) on the leader of the linked hosts. | ||
|
||
2. From the left **Main Menu**, click **Cluster**. | ||
|
||
3. Confirm that there is no active cluster and that the cluster has been deleted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
192 changes: 192 additions & 0 deletions
192
docs/docs-content/clusters/edge/local-ui/cluster-management/link-hosts.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
--- | ||
sidebar_label: "Link Hosts" | ||
title: "Link Hosts" | ||
description: "Instructions for linking hosts to prepare for multi-node cluster creation." | ||
hide_table_of_contents: false | ||
sidebar_position: 30 | ||
tags: ["edge"] | ||
--- | ||
|
||
To create a multi-node cluster with hosts provisioned in the airgap installation mode, the hosts must first be able to | ||
identify and securely communicate with each other. By default, hosts that are provisioned in the airgap installation | ||
mode are not aware of each other even if they are on the same network, and they do not have the credentials to | ||
communicate with each other securely. | ||
|
||
 | ||
lennessyy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Host linking provides the hosts with the necessary network and security infrastructure to form a cluster together. In a | ||
group of linked hosts, hosts can broadcast information to all its peers. | ||
|
||
## Leader Nodes | ||
|
||
To link hosts together, you designate one node as the leader node. The leader node has two obligations: | ||
|
||
- Generate tokens with its IP address and One-Time Password (OTP) credentials, which you can use to link other nodes as | ||
followers. | ||
- Sync content bundles uploaded to the node and configuration changes made to the node to the rest of the cluster. | ||
|
||
A group of linked hosts that have not formed a cluster only has one leader node, where you can upload content bundles | ||
and create a cluster. | ||
|
||
Once a cluster is formed, every control plane node will be generating the pairing tokens and can act as the leader node. | ||
When you perform an action on any control plane node, that node will act as the leader and propagate the action to the | ||
rest of the cluster. For example, if you upload a content bundle to a control plane node, the content bundle will be | ||
synced from that node to the rest of the cluster, even if the control plane node was not the leader node before a | ||
cluster is formed. This design removes the need to memorize which node was the leader before forming a cluster. | ||
|
||
When you [delete a cluster](../cluster-management/delete-cluster.md), all nodes will return to the **Ready** state, but | ||
will remain linked. Since the group of hosts no longer have a cluster, they will only have one leader node, which is the | ||
host where you performed the delete action from. | ||
|
||
## Link Hosts | ||
|
||
Linked hosts will sync their status and uploaded content, including images for the Palette agent and provider images, | ||
with each other. | ||
|
||
### Limitations | ||
|
||
- All hosts must be deployed in the same deployment mode. For more information, refer to | ||
abhinavnagaraj marked this conversation as resolved.
Show resolved
Hide resolved
|
||
[Deployment Modes](../../../../deployment-modes/deployment-modes.md). | ||
|
||
- For hosts that are deployed in [agent mode](../../../../deployment-modes/agent-mode/agent-mode.md), all hosts must | ||
share the same Operating System (OS). | ||
|
||
- You cannot update the IP address of a linked node. | ||
|
||
### Prerequisites | ||
|
||
- Two or more hosts deployed in the same deployment mode on the same network. For more information, refer to | ||
[Appliance Mode Installation](../../site-deployment/stage.md) or | ||
[Agent Mode Installation](../../../../deployment-modes/agent-mode/install-agent-host.md). | ||
|
||
- The `stylus.enableMultiNode` parameter is set to `true` in your user data configuration for all your hosts. For more | ||
information, refer to [Prepare User Data](../../edgeforge-workflow/prepare-user-data.md) and | ||
[Installer Reference](../../edge-configuration/installer-reference.md). | ||
|
||
- The `stylus.installationMode` parameter is set to `airgap` in your user data configuration for all your hosts. | ||
|
||
- No follower host has any current cluster workloads. Refer to [Delete a Cluster](./delete-cluster.md) and | ||
[Unlink Hosts](#unlink-hosts) to learn how to delete a cluster and unlink a host to free it up for linking. | ||
|
||
### Procedure | ||
|
||
1. Decide on a node that you plan to use as the leader of the group. Log in to | ||
[Local UI](../host-management/access-console.md) of that node. | ||
|
||
2. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
3. Click **Generate token**. This will make the host start generating tokens you will use to link this host with other | ||
hosts. The base-64 encoded token contains the IP address of the node, as well as an OTP that will expire in two | ||
minutes. Once a token expires, the leader node generates another token automatically. | ||
|
||
If you have already made the | ||
|
||
4. Click the **Copy** button to copy the token. | ||
|
||
5. Log in to [Local UI](../host-management/access-console.md) on the node that you want to link to the leader node. | ||
|
||
6. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
7. Click **Link this device to another**. | ||
|
||
8. In the pop-up box that appears, enter the token you copied from the leader node. | ||
|
||
9. Click **Confirm**. | ||
|
||
10. Repeat this process for every node you want to link to the leader node. | ||
|
||
### Validate | ||
|
||
1. Log in to [Local UI](../host-management/access-console.md) on the leader node. | ||
|
||
2. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
3. Confirm that all nodes you linked together show up in the **Linked Edge Hosts** table. | ||
|
||
## Unlink Hosts | ||
|
||
You can unlink a host to either link it to another host or to use it for independent workloads. You can only unlink a | ||
follower host. Once all follower hosts have been unlinked, you can | ||
[remove its leader status](#remove-leader-node-status) and link it to another node. | ||
|
||
You can unlink a follower host on the follower host itself or from the leader node. | ||
|
||
lennessyy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
### Prerequisites | ||
|
||
- Two or more linked hosts. | ||
|
||
- [Access to Local UI](../host-management/access-console.md) on the host you want to unlink or on the leader host. | ||
|
||
- The host you want to unlink cannot be in-use by a cluster. If you want to remove a node from your cluster and then | ||
unlink it, you must first scale down the cluster. Once the host is in **Ready** state instead of **In-Use**, you can | ||
proceed to unlink it. For more information, refer to [Scale Down a Cluster](./scale-cluster.md#scale-down-a-cluster). | ||
|
||
### Procedure | ||
|
||
<Tabs> | ||
|
||
<TabItem value="From Leader Node"> | ||
|
||
1. Log in to Local UI on the leader node. | ||
|
||
2. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
3. In the list of linked nodes, identify the node you want to unlink and click the **three-dot button** next to the IP | ||
address of the node. | ||
|
||
4. Click **Unlink**. | ||
|
||
5. Click **Confirm** | ||
|
||
</TabItem> | ||
|
||
<TabItem value="On Follower Node"> | ||
|
||
1. Log in to Local UI on the node you want to unlink. | ||
|
||
2. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
3. Click **Unlink** in the upper-right corner of the **Linked Edge Hosts** page. | ||
|
||
4. Click **Confirm** | ||
|
||
</TabItem> | ||
|
||
</Tabs> | ||
|
||
### Validate | ||
|
||
1. Log in to Local UI on the node you unlinked. | ||
|
||
2. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
3. Confirm that the node has been unlinked from the leader and is ready to be paired with another node. | ||
|
||
## Remove Leader Node Status | ||
|
||
Removing the leader node status of a node allows you to link the node to another group of linked nodes as a follower. | ||
You can only do this when the node is not part of an active cluster. | ||
|
||
### Prerequisites | ||
|
||
- Access to Local UI on a host that generates pairing tokens. | ||
|
||
- The host is not linked with any other host. If your host is still linked with other hosts, you must unlink all its | ||
follower nodes. | ||
|
||
### Procedure | ||
|
||
1. Log in to Local UI. | ||
|
||
2. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
3. Click the red **Stop token generation** button to stop the host from generating pairing tokens. This will make it | ||
ready to be paired with other nodes again as a follower. | ||
|
||
### Validate | ||
|
||
1. Log in to Local UI. | ||
|
||
2. From the left **Main Menu**, click **Linked Edge Hosts**. | ||
|
||
3. Confirm that the host is no longer generating pairing tokens and can be linked to another host as a follower. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a note here for us to remember to replace with version number