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: add VMware Getting Started DOC-1126 #3173

Merged
merged 15 commits into from
Jul 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ docs/api-content/**/*.json

# Troublesome files
tsconfig.json
src/components/IconMapper/dynamicFontAwesomeImports.js
src/components/IconMapper/dynamicFontAwesomeImports.js
_partials/
40 changes: 40 additions & 0 deletions _partials/_authenticate-palette-cli.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
partial_category: pcg-vmware
partial_name: authenticate-palette-cli
---

The initial step to deploy a PCG using Palette CLI involves authenticating with your Palette environment using the
<VersionedLink text="palette login" url="/automation/palette-cli/commands/login" /> command.
In your terminal, execute the following command.

```bash
palette login
```

Once issued, you will be prompted for several parameters to complete the authentication. The table below outlines the
required parameters along with the values that will be utilized in this tutorial. If a parameter is specific to your
environment and Palette account, such as your Palette API key, ensure to input the value according to your environment.
Check out the <VersionedLink text="Deploy a PCG to VMware vSphere" url="/clusters/pcg/deploy-pcg/vmware"/> guide for
more information. option.

| **Parameter** | **Value** | **Environment-Specific** |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| **Spectro Cloud Console** | `https://console.spectrocloud.com`. If using a self-hosted instance of Palette, enter the URL for that instance. | No |
| **Allow Insecure Connection** | `Y`. Enabling this option bypasses x509 CA verification. In production environments, enter `Y` if you are using a self-hosted Palette or VerteX instance with self-signed TLS certificates and need to provide a file path to the instance CA. Otherwise, enter `N`. | No |
| **Spectro Cloud API Key** | Enter your Palette API Key. | Yes |
| **Spectro Cloud Organization** | Select your Palette Organization name. | Yes |
| **Spectro Cloud Project** | `None (TenantAdmin)` | No |
| **Acknowledge** | Accept the login banner message. <VersionedLink text="Login banner" url="/tenant-settings/login-banner"/> messages are only displayed if the tenant admin enabled a login banner. | Yes |

After accepting the login banner message, you will receive the following output confirming you have successfully
authenticated with Palette.

```text hideClipboard
Welcome to Spectro Cloud Palette
```

The video below demonstrates Palette's authentication process. Ensure you utilize values specific to your environment,
such as the correct Palette URL. Contact your Palette administrator for the correct URL if you use a self-hosted Palette
or VerteX instance.

<Video title="palette-login-video" src="/videos/palette-login.mp4"></Video>
17 changes: 17 additions & 0 deletions _partials/_cluster_observability.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
partial_category: getting-started
partial_name: cluster-observability
---

As we have seen throughout this tutorial, Palette exposes a set of workload metrics out-of-the-box to help cluster
administrators better understand the resource utilization of the cluster. The <VersionedLink text="workload metrics" url="/clusters/cluster-management/workloads/" /> in Palette are a snapshot in
time and do not provide alerting capabilities.

We recommend using a dedicated monitoring system in order to gain a better picture of resource utilization in your
addetz marked this conversation as resolved.
Show resolved Hide resolved
environments. Several <VersionedLink text="packs" url="/integrations/" /> are available in the monitoring category that
you can use to add additional monitoring capabilities to your cluster.

Refer to the <VersionedLink text="Deploy Monitoring Stack" url="/clusters/cluster-management/monitoring/deploy-monitor-stack/"/>
guide to learn how to deploy a monitoring stack using the open-source tool
[Prometheus](https://prometheus.io/docs/introduction/overview/) and how to configure a host cluster to forward metrics
to the monitoring stack.
34 changes: 34 additions & 0 deletions _partials/_create-tenant-api-key.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
partial_category: palette-setup
partial_name: create-tenant-api-key
---

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

2. Switch to the **Tenant Admin** scope

3. Navigate to the left **Main Menu** and select **Tenant Settings**.

4. From the **Tenant Settings Menu**, select **API Keys**.

5. Click on **Add New API key**.

6. Fill out the following input fields:
addetz marked this conversation as resolved.
Show resolved Hide resolved

| **Input Field** | **Description** |
| ------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **API Key Name** | Assign a name to the API key. |
| **Description** | Provide a description for the API key. |
| **User Name** | Select the user to assign the API key. |
| **Expiration Date** | Select an expiration date from the available options. You can also specify a custom date by selecting **Custom**. |

5. Click the **Generate** button.

6. Copy the API key and save it in a secure location, such as a password manager. Share the API key with the user you
created the API key for.

:::warning

Ensure you save the API key in a secure location. You will not be able to view the API key again.

:::
21 changes: 21 additions & 0 deletions _partials/_delete-pcg-vmware.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
partial_category: pcg-vmware
partial_name: delete-pcg-ui
---

After deleting your VMware cluster and cluster profile, proceed with the PCG deletion. Log in to Palette as a tenant
admin, navigate to the left **Main Menu** and select **Tenant Settings**. Next, from the **Tenant Settings Menu**, click
on **Private Cloud Gateways**. Identify the PCG you want to delete, click on the **Three-Dot Menu** at the end of the
PCG row, and select **Delete**. Click **OK** to confirm the PCG deletion.

![Delete PCG image](/clusters_pcg_deploy-app-pcg_pcg-delete.webp)

Palette will delete the PCG and the Palette services deployed on the PCG node. However, the underlying infrastructure
resources, such as the virtual machine, must be removed manually from VMware vSphere.

Log in to your VMware vSphere server and select the VM representing the PCG node named `gateway-tutorial-cp`. Click on
the **Three-Dot Actions** button, select **Power**, and **Power Off** to power off the machine. Once the machine is
powered off, click on the **Three-Dot Actions** button again and select **Delete from Disk** to remove the machine from
your VMware vSphere environment.

![Delete VMware VM](/clusters_pcg_deploy-app-pcg_vmware-delete.webp)
157 changes: 157 additions & 0 deletions _partials/_deploy-pcg-palette-vmware.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
---
partial_category: pcg-vmware
partial_name: deploy-pcg-palette-cli
---

After authenticating with Palette, you can proceed with the PCG creation process. Issue the command below to start the
PCG installation.

```bash
palette pcg install
```

The `palette pcg install` command will prompt you for information regarding your PCG cluster, vSphere environment, and
resource configurations. The following tables display the required parameters along with the values that will be used in
this tutorial. Enter the provided values when prompted. If a parameter is specific to your environment, such as your
vSphere endpoint, enter the corresponding value according to your environment. For detailed information about each
parameter, refer to the <VersionedLink text="Deploy a PCG to VMware vSphere" url="/clusters/pcg/deploy-pcg/vmware"/>
guide.

:::info

The PCG to be deployed in this tutorial is intended for educational purposes only and is not recommended for production
environments.

:::

1. **PCG General Information**

Configure the PCG general information, including the **Cloud Type** and **Private Cloud Gateway Name**, as shown in
the table below.

| **Parameter** | **Value** | **Environment-Specific** |
| :--------------------------------------------------- | ------------------ | ------------------------ |
| **Management Plane Type** | `Palette` | No |
| **Enable Ubuntu Pro (required for production)** | `N` | No |
| **Select an image registry type** | `Default` | No |
| **Cloud Type** | `VMware vSphere` | No |
| **Private Cloud Gateway Name** | `gateway-tutorial` | No |
| **Share PCG Cloud Account across platform Projects** | `Y` | No |

2. **Environment Configuration**

Enter the environment configuration information, such as the **Pod CIDR** and **Service IP Range** according to the
table below.

| **Parameter** | **Value** | **Environment-Specific** |
| :------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| **HTTPS Proxy** | Skip. | No |
| **HTTP Proxy** | Skip. | No |
| **Pod CIDR** | `172.16.0.0/20`. The pod IP addresses should be unique and not overlap with any machine IPs in the environment. | No |
| **Service IP Range** | `10.155.0.0/24`. The service IP addresses should be unique and not overlap with any machine IPs in the environment. | No |

3. **vSphere Account Information**

Enter the information specific to your vSphere account.

| **Parameter** | **Value** | **Environment-Specific** |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------ |
| **vSphere Endpoint** | Your vSphere endpoint. You can specify a Full Qualified Domain Name (FQDN) or an IP address. Make sure you specify the endpoint without the HTTP scheme `https://` or `http://`. Example: `vcenter.mycompany.com`. | Yes |
| **vSphere Username** | Your vSphere account username. | Yes |
| **vSphere Password** | Your vSphere account password. | Yes |
| **Allow Insecure Connection (Bypass x509 Verification)** | `Y`. Enabling this option bypasses x509 CA verification. In production environments, enter `N` if using a custom registry with self-signed SSL certificates. Otherwise, enter `Y`. | No |

4. **vSphere Cluster Configuration**

Enter the PCG cluster configuration information. For example, specify the vSphere **Resource Pool** to be targeted by
the PCG cluster.

| **Parameter** | **Value** | **Environment-Specific** |
| -------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------ |
| **Datacenter** | The vSphere data center to target when deploying the PCG cluster. | Yes |
| **Folder** | The vSphere folder to target when deploying the PCG cluster. | Yes |
| **Network** | The port group to which the PCG cluster will be connected. | Yes |
| **Resource Pool** | The vSphere resource pool to target when deploying the PCG cluster. | Yes |
| **Cluster** | The vSphere compute cluster to use for the PCG deployment. | Yes |
| **Select specific Datastore or use a VM Storage Policy** | `Datastore` | No |
| **Datastore** | The vSphere datastore to use for the PCG deployment. | Yes |
| **Add another Fault Domain** | `N` | No |
| **NTP Servers** | Skip. | No |
| **SSH Public Keys** | Provide a public OpenSSH key to be used to connect to the PCG cluster. | Yes |

5. **PCG Cluster Size**

This tutorial will deploy a one-node PCG with dynamic IP placement (DDNS). If needed, you can convert a single-node
addetz marked this conversation as resolved.
Show resolved Hide resolved
PCG to a multi-node PCG to provide additional capacity. Refer to the
<VersionedLink text="Increase PCG Node Count" url="/clusters/pcg/manage-pcg/scale-pcg-nodes" /> guide for more
information.

| **Parameter** | **Value** | **Environment-Specific** |
| ------------------- | ---------------------------------------------------------------------------- | ------------------------ |
| **Number of Nodes** | `1` | No |
| **Placement Type** | `DDNS` | No |
| **Search domains** | Comma-separated list of DNS search domains. For example, `spectrocloud.dev`. | Yes |

6. **Cluster Settings**

Set the parameter **Patch OS on boot** to `N`, meaning the OS of the PCG hosts will not be patched on the first boot.

| **Parameter** | **Value** | **Environment-Specific** |
| -------------------- | --------- | ------------------------ |
| **Patch OS on boot** | `N` | No |

7. **vSphere Machine Configuration**

Set the size of the PCG as small (**S**) as this PCG will not be used in production environments.

| **Parameter** | **Value** | **Environment-Specific** |
| ------------- | --------------------------------------------- | ------------------------ |
| **S** | `4 CPU, 4 GB of Memory, and 60 GB of Storage` | No |

8. **Node Affinity Configuration Information**

Set **Node Affinity** to `N`, indicating no affinity between Palette pods and control plane nodes.

| **Parameter** | **Value** | **Environment-Specific** |
| ----------------- | --------- | ------------------------ |
| **Node Affinity** | `N` | No |

After answering the prompts of the `pcg install` command, a new PCG configuration file is generated, and its location is
displayed on the console.

```text hideClipboard
==== PCG config saved ==== Location: /home/ubuntu/.palette/pcg/pcg-20240313152521/pcg.yaml
```

Next, Palette CLI will create a local [kind](https://kind.sigs.k8s.io/) cluster that will be used to bootstrap the PCG
cluster deployment in your VMware environment. Once installed, the PCG registers itself with Palette and creates a
VMware cloud account with the same name as the PCG.

The following recording demonstrates the `pcg install` command with the `--config-only` flag. When using this flag, a
reusable configuration file named **pcg.yaml** is created under the path **.palette/pcg**. You can then utilize this
file to install a PCG with predefined values using the command `pcg install` with the `--config-file` flag. Refer to the
<VersionedLink text="Palette CLI PCG Command" url="/automation/palette-cli/commands/pcg" /> page for further information
about the command.

<Video title="palette-pcg-config-only" src="/videos/palette-pcg.mp4"></Video>

<br />
<br />

You can monitor the PCG cluster creation by logging into Palette and switching to the **Tenant Admin** scope. Next,
click on **Tenant Settings** from the left **Main Menu** and select **Private Cloud Gateways**. Then, click on the PCG
cluster you just created and check the deployment progress under the **Events** tab.

![PCG Events page.](/clusters_pcg_deploy-app-pcg_pcg-events.webp)

You can also track the PCG deployment progress from your terminal. Depending on the PCG size and infrastructure
environment, the deployment might take up to 30 minutes. Upon completion, the local kind cluster is automatically
deleted from your machine.

![Palette CLI PCG deployment](/clusters_pcg_deploy-app-pcg_pcg-cli.webp)

Next, log in to Palette as a tenant admin. Navigate to the left **Main Menu** and select **Tenant Settings**. Click on
**Private Cloud Gateways** from the **Tenant Settings Menu** and select the PCG you just created. Ensure that the PCG
cluster status is **Running** and **Healthy** before proceeding.

![PCG Overview page.](/clusters_pcg_deploy-app-pcg_pcg-health.webp)
Loading
Loading