Skip to content
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 37 commits into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
6ed8f21
docs: multi-node airgap documentation
lennessyy Oct 14, 2024
af4a124
docs: update progress
lennessyy Oct 29, 2024
1b66044
docs: add delete and scale docs
lennessyy Nov 15, 2024
dda9d55
docs: add prereqs for deletion
lennessyy Nov 19, 2024
8f38905
Merge branch 'master' into airgap-multinode
lennessyy Nov 19, 2024
f398edf
Merge branch 'master' into airgap-multinode
lennessyy Nov 20, 2024
b8483de
docs: add draft
lennessyy Nov 21, 2024
d39dc7a
docs: add host unlinking instructions
lennessyy Nov 21, 2024
97fe239
docs: minor edit
lennessyy Nov 21, 2024
c27e18f
docs: edits
lennessyy Nov 21, 2024
4f02940
docs: adjust page order
lennessyy Nov 21, 2024
e727c33
docs: adjust page order
lennessyy Nov 22, 2024
2427bd7
docs: address review feedback
lennessyy Nov 26, 2024
3d83075
docs: add prerequisites
lennessyy Nov 26, 2024
a3a0ac7
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Nov 26, 2024
3a6da05
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Nov 26, 2024
a9164b7
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Nov 26, 2024
bbb81b3
docs: fix broken anchors
lennessyy Nov 26, 2024
dc0d321
docs: webp
lennessyy Nov 26, 2024
9e44fa5
docs: proofread
lennessyy Nov 26, 2024
2fe9917
webp convert
lennessyy Nov 26, 2024
240cc37
docs: add links on index page
lennessyy Nov 26, 2024
c3cd92b
docs: typo
lennessyy Nov 26, 2024
95f09ed
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Nov 26, 2024
14ae2e7
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Nov 26, 2024
b90dfc3
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Nov 26, 2024
26605ec
docs: small change
lennessyy Nov 26, 2024
7b2a945
Merge branch 'airgap-multinode' of https://github.com/spectrocloud/li…
lennessyy Nov 26, 2024
fde6052
docs: plural
lennessyy Nov 26, 2024
37a2221
docs: clarify leader nodes
lennessyy Dec 2, 2024
4436426
docs: simplify
lennessyy Dec 2, 2024
1d94f1d
Apply suggestions from code review
lennessyy Dec 2, 2024
e873b0e
Apply suggestions from code review
lennessyy Dec 2, 2024
91aba6b
ci: auto-formatting prettier issues
lennessyy Dec 2, 2024
1d71bcf
docs: edit
lennessyy Dec 2, 2024
baec566
Merge branch 'airgap-multinode' of https://github.com/spectrocloud/li…
lennessyy Dec 2, 2024
4e7622a
docs: add warning about local path provisioner
lennessyy Dec 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ sidebar_position: 32
tags: ["edge"]
---

Local UI allows you to upload content bundles to the Edge host. The content in the content bundles can then be used to
create a single-node cluster consisting of the Edge host itself. You can also import cluster definitions, which is a
bundle of one or more cluster profiles and their profile variables, from Palette to define your Edge cluster.
Local UI allows you to upload content bundles to the Edge host. The content in the content bundles can then be used
during cluster creation. To create a cluster, you import cluster definitions, which is a bundle of one or more cluster
profiles and their profile variables, from Palette to define your Edge cluster. If you have multiple hosts that are
linked to each other, you can create multi-node clusters consisting of the linked hosts.

Cluster operations in Local UI are only available to airgapped Edge hosts. You cannot use Local UI to create or manage
clusters, upload content bundles, or cluster definition on a connected Edge host. You must use Palette to manage the
Expand All @@ -27,3 +28,11 @@ Refer to the following resources to learn how to upload content and create a clu
- [Export Cluster Definition](./export-cluster-definition.md)

- [Create Local Cluster](./create-cluster.md)

- [Link Hosts](./link-hosts.md)

- [Scale a Cluster](./scale-cluster.md)

- [Delete a Cluster](./delete-cluster.md)

- [Share Local UI Authentication](./share-auth.md)
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
---
sidebar_label: "Create Local Cluster"
title: "Create Local Cluster"
description: "Instructions for creating a locally manageg cluster in Edge Host Management Console."
Copy link
Contributor

Choose a reason for hiding this comment

The 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
guides you through how to create a cluster using Local UI.
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

:::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

## Prerequisites
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

Expand All @@ -29,15 +31,17 @@ through how to create a cluster using Local UI.
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:
- 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,
Expand Down Expand Up @@ -84,7 +88,11 @@ 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.

For more information about node pool configurations, refer to [Node pools](../../../cluster-management/node-pool.md).
After you finish configuration, click **Next**.

Expand All @@ -93,6 +101,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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
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 free up all the hosts in the cluster for new
workloads. Deleting a cluster does not unlink the linked hosts. For more information about linking or unlinking hosts,
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
refer to [Link Hosts](./link-hosts.md).

## Prerequisites

- Access to [Local UI](../host-management/access-console.md). Any Operating System (OS) user can be used to log in to
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
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.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ sidebar_label: "Export Cluster Definition"
title: "Export Cluster Definition"
description: "Instructions for exporting cluster definition."
hide_table_of_contents: false
sidebar_position: 50
sidebar_position: 10
tags: ["edge"]
---

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
---
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 `airgap` installation mode, the hosts must first be able
identify and securely communicate with each other. By default, hosts that are provisioned in `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.

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. Every group has a leader node, which provides
tokens with its IP and a One-Time Password (OTP) credentials encrypted that you can use to link other nodes.

Linked hosts will sync images for the Palette agent, provider images, cluster definitions, as well as host status with
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
each other. In a group of linked hosts that have not formed a cluster, only the leader node has access to functionality
such as change host settings, upload content, and create clusters. Once a cluster is created, only the control plane
nodes have access to features such as cluster management and can change host settings.

## Link Hosts

### 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, all hosts must share the same Operating System (OS).

### 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).

- All hosts must be idle. They cannot have any current cluster workloads, or are linked to another node. 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. The leader node may or may not already be in a
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
cluster, but the follower nodes must be idle and cannot be in a cluster.

2. From the left **Main Menu**, click **Linked Edge Hosts**.

3. Click **Generate token**. This will generate a token you will use to link this host with other hosts. The token
contains the encrypted IP address of the node, as well as an OTP that will expire in two minutes.
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

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 coped from the leader node.
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

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. Leader hosts cannot be unlinked.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leader hosts cannot be unlinked directly. When all followers are unlinked, the leader is automatically unlinked if its not "in-use"(not part of a single node cluster).


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.

### Procedure

<Tabs>

<TabItem value="From Leader Node">

1. Log in to Local UI on the leader node to which the node you want to unlink is paired.

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

If you have made a host the leader of a group of linked hosts, but later want to link it to another leader node, you
must first remove its leader node status.
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

### Prerequisite

- 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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
sidebar_label: "Scale a Cluster"
title: "Scale a Cluster"
description: "Learn how to scale up or scale down a cluster."
hide_table_of_contents: false
sidebar_position: 40
tags: ["edge"]
---

Once a cluster is operational, you have the option of scaling up the cluster by adding additional nodes, or scale down
the cluster by removing nodes from the cluster using Local UI.

## Scale up a Cluster

To scale up a cluster is to add additional nodes to an active cluster. You can scale up a cluster deployed on hosts
installed in airgap mode in Local UI.

### Prerequisites

- You have an active cluster composed of hosts installed in airgap mode. For more information, refer to
[Create Local Cluster](./create-cluster.md).

- The new nodes you plan to add to the cluster are linked with the nodes in the existing cluster. For more information,
refer to [Link Hosts](./link-hosts.md).

- You have access to the leader node of the cluster. For more information about leader nodes, refer to
abhinavnagaraj marked this conversation as resolved.
Show resolved Hide resolved
[Link Hosts](./link-hosts.md).

### Procedure

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. On the **Cluster** page, click **Nodes** to view the **Nodes** tab.

4. Select a node pool you'd like to edit. You can either edit the control plane or the worker pool.

5. In the pop-up window,scroll down to **Pool Configuration** and click on **Add Item**.

6. Select a host that you'd like to add to the cluster.

7. Click **Confirm** to confirm your changes. It may take 15 to 25 mins for the change to take effect depending on your
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
environment and workload.

### Validate

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. On the **Cluster** page, click **Nodes** to view the **Nodes** tab.

4. Confirm that the new node you added to the cluster is in the **Running** status.

## Scale down a Cluster

To scale down a cluster is to remove existing nodes from an active cluster. You can scale down a cluster deployed on
hosts installed in airgap mode in Local UI.

### Prerequisites

- You have an active multi-node cluster composed of hosts installed in airgap mode. For more information, refer to
[Create Local Cluster](./create-cluster.md).

- You have access to the leader node of the cluster. For more information about leader nodes, refer to
[Link Hosts](./link-hosts.md).

### Procedure

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. On the **Cluster** page, click **Nodes** to view the **Nodes** tab.

4. Select a node pool you'd like to edit. You can either edit the control plane or the worker pool.

5. In the pop-up window,scroll down to **Pool Configuration**. Click the **Delete** button next to the nodes you want to
remove.

6. When you are done removing nodes, Click **Confirm** to confirm your changes. It may take 15 to 25 mins for the change
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'mins'?

lennessyy marked this conversation as resolved.
Show resolved Hide resolved
to take effect depending on your environment and workload.

lennessyy marked this conversation as resolved.
Show resolved Hide resolved
### Validate

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. On the **Cluster** page, click **Nodes** to view the **Nodes** tab. Confirm that the node you removed is no longer in
the cluster.
Loading