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: document edge management console #2186

Merged
merged 55 commits into from
Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
6b4bbe7
add instructions for first boot tui
lennessyy Jan 31, 2024
4c558eb
change page position
lennessyy Jan 31, 2024
526d593
remove QR code registration
lennessyy Jan 31, 2024
01b0883
add cross reference
lennessyy Jan 31, 2024
7950114
add first boot condition
lennessyy Jan 31, 2024
97deee8
add emc login functionality
lennessyy Jan 31, 2024
43d5675
add draft on customizing ui
lennessyy Feb 5, 2024
e93ecb5
add steps on creating local cluster
lennessyy Feb 7, 2024
a6698ae
modify build artifacts step
lennessyy Feb 7, 2024
7af7e10
merge tui changes
lennessyy Feb 9, 2024
5866a29
docs: write about provider images
lennessyy Feb 9, 2024
a59d4bd
add steps for building iso
lennessyy Feb 13, 2024
c4911b2
edit provider image
lennessyy Feb 15, 2024
ba71c4a
docs: add upload content
lennessyy Feb 15, 2024
3202db5
fix bad quotes
lennessyy Feb 15, 2024
e2f597b
fix broken link
lennessyy Feb 15, 2024
1829cba
minor fixes
lennessyy Feb 15, 2024
fd58e19
add credential providing instructions
lennessyy Feb 16, 2024
7f18661
fix tab item issue
lennessyy Feb 16, 2024
f76dc9f
add instructions for exporting cluster definition
lennessyy Feb 16, 2024
6824277
add arg files instructions
lennessyy Feb 21, 2024
7da1242
fix repeated word
lennessyy Feb 21, 2024
6a99976
Optimised images with calibre/image-actions
github-actions[bot] Feb 21, 2024
52fe3e1
add info note on provider images page
lennessyy Feb 21, 2024
fbaf595
Merge branch 'emc' of https://github.com/spectrocloud/librarium into emc
lennessyy Feb 21, 2024
bc41a22
modify wording about user data
lennessyy Feb 21, 2024
b7dd765
add proxy configuration steps
lennessyy Feb 21, 2024
d27ca91
add new changes
lennessyy Feb 21, 2024
aa62bbf
repeated word
lennessyy Feb 21, 2024
f660b18
Apply suggestions from code review
lennessyy Feb 21, 2024
40f33a1
small changes
lennessyy Feb 22, 2024
94401c1
work on feedback
lennessyy Feb 23, 2024
664d205
Optimised images with calibre/image-actions
github-actions[bot] Feb 23, 2024
40244f7
Address feedback
lennessyy Feb 23, 2024
ba379d0
fix broken links
lennessyy Feb 23, 2024
e6b2570
fix broken links
lennessyy Feb 23, 2024
e35e643
address comments
lennessyy Feb 27, 2024
3d8de21
address feedback
lennessyy Feb 28, 2024
77cd501
Merge branch 'release-4-3' into emc
lennessyy Feb 28, 2024
a71f55f
address more comments
lennessyy Feb 28, 2024
513e4e5
Merge branch 'emc' of https://github.com/spectrocloud/librarium into emc
lennessyy Feb 28, 2024
8297d01
address review comments
lennessyy Feb 29, 2024
bb6aae9
add QR code registration back
lennessyy Feb 29, 2024
63a95ad
add note about proxy setting after reset
lennessyy Mar 1, 2024
185186c
add note about local registry
lennessyy Mar 1, 2024
2a09d8d
Optimised images with calibre/image-actions
github-actions[bot] Mar 1, 2024
3df7ffb
Merge branch 'release-4-3' of https://github.com/spectrocloud/librari…
lennessyy Mar 1, 2024
4eb92fd
docs: add note about duplicate profile layers
lennessyy Mar 6, 2024
fc844c2
Apply suggestions from code review
lennessyy Mar 6, 2024
b6880f2
Update docs/docs-content/clusters/edge/edge-configuration/installer-r…
lennessyy Mar 6, 2024
459c3a0
Merge branch 'release-4-3' into emc
lennessyy Mar 6, 2024
3699eba
fix tui acronym use
lennessyy Mar 6, 2024
c164826
docs: fix prereq
lennessyy Mar 6, 2024
e0fb442
update diagram
lennessyy Mar 7, 2024
48978d1
Optimised images with calibre/image-actions
github-actions[bot] Mar 7, 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 @@ -79,21 +79,21 @@ stylus:

### Initial Configuration

You can configure the Edge Installer to skip the initial configuration when you boot up the Edge host for the first
time. For more information about initial configuration, refer to
You can configure the Edge Installer to enable the initial configuration in the Terminal User Interface (TUI) when you
boot up the Edge host for the first time. For more information about initial configuration, refer to
[Initial Edge Host Configuration](../site-deployment/initial-setup.md).

| Parameter | Description |
| --------- | -------------------------------------------------------------------- |
| `skipTui` | Skips the initial Edge host configuration. Default value is `false`. |
| Parameter | Description |
| ------------ | --------------------------------------------------------------------- |
| `includeTui` | Enable the initial Edge host configuration. Default value is `false`. |

### Edge Management Console

You can change the port that the Edge management console is exposed on. The default port is 5080.

| Parameter | Description |
| ---------------- | ----------------------------------------------------------------------------------------- |
| `emcServer.port` | Specifies the port that the Edge management console is exposed on. Default value is 6080. |
| `emcServer.port` | Specifies the port that the Edge management console is exposed on. Default value is 5080. |

### External Registry

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 40
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 10
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
sidebar_label: "Cluster Management"
title: "Cluster Management"
description: "Instructions for cluster management with EMC."
hide_table_of_contents: false
sidebar_position: 32
tags: ["edge"]
---

Edge Management Console (EMC) 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.

:::preview

:::

Refer to the following resources to learn how to upload content and create a cluster using EMC:

- [Upload Content Bundle](./upload-content-bundle.md)

- [Export Cluster Definition](./export-cluster-definition.md)

- [Create Local Cluster](./create-cluster.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
sidebar_label: "Create Local Cluster"
title: "Create Local Cluster"
description: "Instructions for creating a locally manageg cluster in Edge Host Management Console."
hide_table_of_contents: false
sidebar_position: 32
tags: ["edge"]
---

You can create and manage a single-node cluster locally from the Edge Management Console (EMC). This page guides you
through how to create a cluster using Edge Management Console.

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

## Prerequisites

- Network access to the Edge device's port where EMC is exposed. The default port is 5080.

- Credentials to log into EMC. Any OS user can be used to log in to EMC.

- 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 Edge Artifacts with Content Bundle](../../edgeforge-workflow/palette-canvos/build-artifacts.md).

## Create Local Cluster

1. Log into the Edge Management Console by visiting the 5080 port of your Edge device's IP address or domain name. For
more information, refer to [Access Edge Management Console](../host-management/access-console.md).

2. From the left **Main Menu**, click **Clusters**.

3. Click **Create cluster**.

4. Fill out **Basic Information** such as cluster name and tag. Click **Next**.

| Parameter | Description |
| ------------ | ------------------------------------------------------- |
| Cluster bane | Name of the cluster. |
| Tags | Key-value pairs to provide metadata about your cluster. |

5. If you built a cluster definition into your Edge installer ISO, you can either choose to use the embedded config or
import a cluster definition file. The embedded config uses a cluster definition you included during the creation of
the ISO image you used to install Palette Edge on your Edge host. Ensure that the final profile for your deployed
cluster contains the pack **Harbor Edge-Native Config**. This pack is required for all disconnected Edge clusters.

To learn more about how to export a cluster configuration and import it during this step, refer to
[Export Cluster Definition](./export-cluster-definition.md).

After you finish configuring the cluster profile, click **Next**.

6. If your selected cluster profile has profile variables, you will now be prompted to enter the values for those
profile variables. The variables with default values will be auto-populated unless the variable value is masked when
you defined the variable. Enter the values for the profile variables and click **Next**.

7. In the **Cluster Config** step, enter a virtual IP address to be used by your cluster. Optionally, you can also
specify a Network Time Protocol server and an SSH public key.

| Parameter | Description |
| --------------------------- | --------------------------------------------------------------------------------------------- |
| Network Time Protocol (NTP) | Specify the IP address for any Network Time Protocol (NTP) servers the cluster can reference. |
| SSH keys | Provide the public key of an SSH key pair that you will use to connect to the Edge host. |
| Virtual IP address | Provide the virtual IP address to be used by the cluster. |

Optionally, you can also enable network overlay, especially if your cluster will operate in an DHCP environment. For
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.
For more information about node pool configurations, refer to [Node pools](../../../cluster-management/node-pool.md).
After you finish configuration, click **Next**.

9. Review your configurations and deploy the cluster.

## Validate

1. Log in to the Edge Management Console.

2. Click **Clusters**. Verify that you cluster has entered the running status.
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
sidebar_label: "Export Cluster Definition"
title: "Export Cluster Definition"
description: "Instructions for exporting cluster definition."
hide_table_of_contents: false
sidebar_position: 32
tags: ["edge"]
---

You can export cluster definitions from a cluster in Palette and use the definition to provision a cluster in an Edge
host. A cluster definition contains one or more cluster profiles, including the profile variables used in the profiles.

:::preview

:::

## Prerequisites

- At least one [cluster profile](/docs/docs-content/profiles/cluster-profiles/cluster-profiles.md) in Palette.

- A Palette API key. For more information on how to create a Palette API key, refer to
[Create API Key](/docs/docs-content/user-management/authentication/api-key/create-api-key.md).

- curl is installed on your machine. You can also use API management tools such as Postman. This document uses curl as
an example.

## Export Cluster Definition

1. Log in to [Palette](https://console.spectrocloud.com).

2. From the **Main Menu**, select **Profiles**.

3. Select a profile you want to include in the cluster definition.

4. Inspect the URL of the page. The URL has the following format:
`https://console.spectrocloud.com/projects/[ProjectID]/profiles/cluster/[ProfileID]`.

5. Extract the project ID and the profile ID from the URL.

6. If you want to include another profile in the cluster definition, repeat step 3 - 4 and extract the profile ID for
each profile you want to export. All profiles must be in the same project.

Make sure the combination of profiles you choose to export can be used to provision a cluster together. This means
that you cannot include more than one profile that has infrastructure layers and cannot have duplicate packs between
the profiles.

7. Use the Palette Download Cluster Definition API to download the cluster definition. The endpoint location is
`POST https://api.spectrocloud.com/v1/spectroclusters/spc/download`. If you are using a self-hosted Palette instance,
replace the base URL `api.spectrocloud.com` with API endpoint address of your Palette instance.

The endpoint takes a few header arguments and a request body.

| Header Parameter | Description |
| ---------------- | ---------------------------------------------------------------------------------------------------------------- |
| `ProjectUid` | The unique ID of the project where the profiles are located. |
| `Content-Type` | You must set the value of this header to `application/json` to indicate that your payload is in the JSON format. |
| `ApiKey` | The value of your Palette API key. |

In the request body, you must provide the ID of the cluster profiles to include in the cluster definition.

| Parameter | Description |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `metadata` | You must set the value of this field to `{"name":"cluster-profiles"}`. |
| `spec.cloudType` | You must set the value of this field to `edge-native`. |
| `spec.profiles` | Provide the exact list of cluster profiles to include in the cluster definition. Inside the list are objects representing the cluster profiles. Each object must have the required key `uid`, which is the ID of the cluster profile. |

The following curl command is an example.

```shell
curl --location 'https://api.spectrocloud.com/v1/spectroclusters/spc/download' \
--header 'ProjectUid: 5fbbf0XXXXX' \
--header 'Content-Type: application/json' \
--header 'ApiKey: XXXXXXXX' \
--output ~/Downloads/demo/cluster-definition.tgz \
--data-raw '{
"metadata": { "name": "cluster-profiles" },
"spec":
{
"cloudType": "edge-native",
"profiles":
[
{
"uid": "65c90XXXXX770dae35"
},
{
"uid": "65c91XXXXa9fe4f51c"
}
]
}
}
```

## Validate

1. Log in to [Edge Management Console](../host-management/access-console.md).

2. From the left **Main Menu**, click on **Cluster**.

3. Try creating a cluster with the exported cluster definition. For more information, refer to
[Create a Local Cluster](../cluster-management/create-cluster.md).

4. A successful cluster definition export will display the correct profile layers from the cluster creation view.

## Next Steps

You can build the cluster definition into the Edge Installer ISO, or upload the cluster definition to an existing Edge
deployment using Edge Management Console during cluster creation.

- [Build Edge Installer ISO](../../edgeforge-workflow/palette-canvos/build-installer-iso.md)

- [Create Local Cluster](../cluster-management/create-cluster.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
sidebar_label: "Upload Content Bundle"
title: "Upload Content Bundle"
description: "Instructions for building and uploading content to Edge hosts."
hide_table_of_contents: false
sidebar_position: 32
tags: ["edge"]
---

You can build a content bundle and upload it to an Edge host through the Edge Management Console (EMC). The content you
upload can include images, helm charts, and packs. This allows you to provision clusters locally using the content you
upload to the Edge host when the host does not have a connection to a central Palette instance or an image repository.

This page guides you through how to build a content bundle and upload it to an Edge host using the Edge management
console.

:::preview

:::

## Prerequisites

- An Edge host with installed with Edge Installer 4.3 or later using the `airgapped` install mode.

- You have built a content bundle that's necessary for provisioning a cluster using your intended cluster profile. For
more information, refer to [Build Content Bundles](../../edgeforge-workflow/build-content-bundle.md).

- Network access to the Edge host's port where EMC is exposed. The default port is 5080.

## Upload Content

1. Log in to [EMC](../host-management/access-console.md#log-in-to-edge-management-console).

2. From the left **Main Menu**, click **Content**.

3. Under the upper-right user menu, Click **Actions** > **Upload Content**.

4. Select your content bundle to upload it to your Edge host.

## Validate

1. After the upload is complete, click **Content** on the left **Main Menu** and confirm images in your content bundle
are present in the Edge host.
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
sidebar_label: "Edge Management Console"
title: "Edge Management Console"
description: "Instructions for Edge Host Management Console."
hide_table_of_contents: false
sidebar_position: 32
tags: ["edge"]
---

Once Palette Edge has been installed on the Edge host and the Edge host has gone through initial configuration, you will
be able to access the Edge Management Console (EMC). EMC allows you to manage Edge hosts in your network locally, upload
content bundles containing images, Helm charts, and packs, and create Edge clusters locally in disconnected environments
without connections to a Palette instance.

:::preview

:::

![A diagram illustrating how users and use EdgeForge and Edge Management Console to deploy clusters without a Palette connection](/clusters_edge_emc_workflow.png)

:::warning

EMC on works for Edge deployment in disconnected environments. A disconnected environment means that the Edge host does
not have a connection to a Palette instance. Do not use EMC if your cluster has a connection to a Palette instance.
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

:::

Refer to the follow resources to learn how to use EMC to manage your disconnected Edge deployment:

## Get Started

- Refer to [Access Edge Management Console](./host-management/access-console.md) for guidance on how to access EMC and
update your credentials.

- If you already included a content bundle and a cluster definition in your installer ISO, you can create a cluster
using the resources in the ISO directly. Refer to [Create Local Cluster](./cluster-management/create-cluster.md) for
guidance. Refer to [EdgeForge Workflow](../edgeforge-workflow/edgeforge-workflow.md) for guidance on how to include
content bundles and cluster definitions in your ISO.

- If you did not provide a content bundle or cluster definition, or if you want to provide new content from which to
build clusters, refer to the following guides to upload content bundles and export cluster definitions.

- [Upload Content Bundles](./cluster-management/upload-content-bundle.md)

- [Export Cluster Definition](./cluster-management/export-cluster-definition.md)

## Cluster Management

- [Upload Content Bundles](./cluster-management/upload-content-bundle.md)

- [Export Cluster Definition](./cluster-management/export-cluster-definition.md)

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

## Host Management

- [Access Edge Management Console](./host-management/access-console.md)

- [Configure HTTP Proxy in Edge Management Console](./host-management/configure-proxy.md)

- [Reset Edge Host to Factory Default](./host-management/reset-reboot.md)

- [Customize Edge Management Console Theme](./host-management/theming.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 40
}
Loading
Loading