diff --git a/docs/docs-content/byoos/image-builder.md b/docs/docs-content/byoos/image-builder.md
index e91c7a8c79..878ad89a80 100644
--- a/docs/docs-content/byoos/image-builder.md
+++ b/docs/docs-content/byoos/image-builder.md
@@ -277,6 +277,15 @@ create the image.
osVersion: "8"
```
+ :::info
+
+ Depending on what platform you are targeting, the value you provide for `osImageOverride` may differ. For example,
+ for AWS, the value is the AMI ID. For vSphere, the value is VM template path and name. Refer to the
+ [Reference Custom Image](../integrations/byoos.md?edge-non-edge=Non-Edge#reference-custom-image) section of the
+ BYOOS page for examples.
+
+ :::
+
![View of the cluster profile wizard](/clusters_byoos_image-builder_cluster-profile-byoos-yaml.webp)
17. Click on **Next layer** to add the Kubernetes layer.
diff --git a/docs/docs-content/byoos/usecases/vmware/rhel-pxk.md b/docs/docs-content/byoos/usecases/vmware/rhel-pxk.md
new file mode 100644
index 0000000000..7235872c95
--- /dev/null
+++ b/docs/docs-content/byoos/usecases/vmware/rhel-pxk.md
@@ -0,0 +1,569 @@
+---
+sidebar_label: "RHEL and PXK"
+title: "RHEL and Palette eXtended Kubernetes"
+description: "Learn how to build a custom RHEL with PXK for VMware vSphere and use it to deploy a Kubernetes cluster."
+icon: ""
+hide_table_of_contents: false
+sidebar_position: 10
+tags: ["operating system", "byoos", "profiles", "pxk", "vmware"]
+---
+
+You can create a custom VMware vSphere RHEL image with
+[Palette eXtended Kubernetes](../../../integrations/kubernetes.md) (PXK) and use it to deploy a Kubernetes cluster. You
+can choose to build the custom RHEL image with PXK using FIPS or opt for a non-FIPS-compliant image. This workflow is
+built on-top of the [Image Builder](https://github.com/kubernetes-sigs/image-builder) project. Check out the
+[Image Builder vSphere](https://image-builder.sigs.k8s.io/capi/providers/vsphere) section of the documentation to learn
+more about this workflow.
+
+Use the following steps to build a custom RHEL image with PXK for VMware vSphere and deploy a Kubernetes cluster.
+
+## Prerequisites
+
+Before you begin, ensure that you have the following prerequisites met.
+
+- Access to the VMware vSphere environment, including user credentials allowing you to create virtual machines.
+
+- A valid [RHEL subscription](https://www.redhat.com/en/store/linux-platforms). You will need to provide the username
+ and password for the subscription during the build process.
+
+- An x86_64 Linux VM with the following resources:
+
+ - 4 CPU
+ - 8 GB of RAM
+ - 100 GB of free disk space
+ - Internet access
+ - Git installed.
+ - Ubuntu 22.04 LTS or later.
+
+
+
+ :::info
+
+ You may choose to use a different Linux distribution, but the commands in this guide are specific to Ubuntu.
+
+ :::
+
+- The Linux VM must have connectivity to the internet and the VMware vSphere environment.
+
+- Access to the [Red Hat Developer Portal](https://developers.redhat.com/products/rhel/download?source=sso).
+
+## Build Custom Image
+
+Use the following steps to build a custom RHEL image with PXK for VMware vSphere. Select the tab based on whether you
+want to create a FIPS-compliant image or a non-FIPS-compliant image.
+
+
+
+
+1. Open a terminal session and log in to the Linux VM.
+
+2. Download the x86_64 RHEL ISO from the
+ [Red Hat Developer Portal](https://developers.redhat.com/products/rhel/download?source=sso). Make sure you download
+ the x86_64 DVD ISO and not the x86_64 BOOT ISO. This guide will use RHEL 8.8 as an example.
+
+ :::tip
+
+ Use the direct link to download the RHEL ISO locally through either `curl` or `wget`.
+
+ :::
+
+3. Update the system and install the latest packages.
+
+ ```bash
+ sudo apt update --yes && sudo apt upgrade --yes
+ ```
+
+4. Install HashiCorp Packer.
+
+ ```bash
+ wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
+ echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
+ sudo apt update && sudo apt install packer
+ ```
+
+5. Install `ansible`, `make`, `jq`, `unzip`, and `python3`.
+
+ ```bash
+ sudo apt-get install --yes make unzip jq python3-pip git && \
+ sudo apt install --yes software-properties-common
+ sudo add-apt-repository --yes --update ppa:ansible/ansible
+ sudo apt install --yes ansible
+ ```
+
+6. Update the PATH environment variable to include Python. Make sure Python 3.10 or later is installed. Otherwise, you
+ will encounter an error during the build process.
+
+ ```bash
+ export PATH=$PATH:/usr/bin/python3 && \
+ echo "export PATH=$PATH:/usr/bin/python3" >> ~/.bashrc
+ ```
+
+7. Clone the forked Image Builder that contains customizations for PXK and switch to the `rhel-pxk-fips` branch.
+
+ ```bash
+ git clone https://github.com/spectrocloud/image-builder.git
+ cd image-builder/images/capi
+ git checkout rhel-pxk-fips
+ ```
+
+8. Install the VMware and vSphere Packer plugins.
+
+ ```bash
+ packer plugins install github.com/hashicorp/vmware
+ packer plugins install github.com/hashicorp/vsphere
+ ```
+
+9. Prepare the image build by downloading dependencies needed by the image-builder scripts.
+
+ ```bash
+ make deps-ova
+ ```
+
+ :::tip
+
+ If you encounter an error during the `make deps-ova` command, ensure you set the python3 path in the PATH
+ environment variable correctly. Also, make sure Python 3.10 or later is installed
+
+ :::
+
+10. Update the **packer/ova/rhel-8.json** file and provide the path to the RHEL ISO image and the SHA256 checksum. Below
+ is an example using RHEL 8.8. The ISO in this example is located at **/home/ubuntu/rhel-isos/**.
+
+ ```json
+ "iso_checksum": "517abcc67ee3b7212f57e180f5d30be3e8269e7a99e127a3399b7935c7e00a09",
+ "iso_checksum_type": "sha256",
+ "iso_url": "file:///home/ubuntu/rhel-isos/rhel-8.8-x86_64-dvd.iso",
+ ```
+
+ :::tip
+
+ If you are unable to find the SHA256 checksum for the RHEL ISO, you can calculate it using the following command.
+ Replace `/path/to/iso` with the path to the RHEL ISO you downloaded.
+
+ ```bash
+ sha256sum /path/to/iso
+ ```
+
+ :::
+
+11. Update the **packer/ova/vsphere.json** file with all the required vSphere details. Use the table below to learn more
+ about each required field.
+
+ | Field Name | Description |
+ | --------------------- | -------------------------------------------------------------------------- |
+ | `cluster` | The name of the vSphere cluster where the Packer VM will be created. |
+ | `datacenter` | The name of the vSphere datacenter where the Packer VM will be created. |
+ | `datastore` | The name of the vSphere datastore the Packer VM will use. |
+ | `folder` | The name of the vSphere folder where the vSphere template will be created. |
+ | `insecure_connection` | Set to `true` if you are using a self-signed certificate for vCenter. |
+ | `network` | The name of the vSphere network the Packer VM will use. |
+ | `password` | The password for the vSphere user. |
+ | `resource_pool` | The name of the vSphere resource pool the Packer VM will use. |
+ | `username` | The username for the vSphere user. |
+ | `vcenter_server` | The IP address or FQDN of the vCenter server. |
+
+ ```json {2,5,6,7,8,10-12,14-15}
+ {
+ "cluster": "",
+ "convert_to_template": "false",
+ "create_snapshot": "true",
+ "datacenter": "",
+ "datastore": "",
+ "folder": "",
+ "insecure_connection": "false",
+ "linked_clone": "true",
+ "network": "",
+ "password": "",
+ "resource_pool": "",
+ "template": "",
+ "username": "",
+ "vcenter_server": ""
+ }
+ ```
+
+ Below is an example of a filled out **packer/ova/vsphere.json** file.
+
+ ```json hideClipboard
+ {
+ "cluster": "Cluster2",
+ "convert_to_template": "false",
+ "create_snapshot": "true",
+ "datacenter": "Datacenter",
+ "datastore": "vsanDatastore2",
+ "folder": "sp-docs",
+ "insecure_connection": "true",
+ "linked_clone": "true",
+ "network": "VM-NETWORK-1",
+ "password": "*************",
+ "resource_pool": "rp-docs",
+ "template": "",
+ "username": "example@vsphere.local",
+ "vcenter_server": "example.vcenter.dev"
+ }
+ ```
+
+12. If you want to change the default Kubernetes version, modify the **packer/config/kubernetes.json** file. The
+ following properties can be modified:
+
+ | Field Name | Description |
+ | ------------------------ | --------------------------------------------- |
+ | `kubernetes_rpm_version` | The version of the Kubernetes RPM to install. |
+ | `kubernetes_semver` | The Kubernetes version in semver format. |
+ | `kubernetes_series` | The Kubernetes series. |
+
+
+
+ FIPS Components
+
+ We maintain custom RPM repositories that are used to download FIPS compliant packages and images during the build.
+ The following properties are already set to download FIPS RPM packages and images.
+
+ ```json
+ "kubernetes_container_registry": "gcr.io/spectro-images-fips",
+ "kubernetes_rpm_gpg_key": "http://fips-rpms.spectrocloud.com/spectro_repo/gpg.key",
+ "kubernetes_rpm_repo": "http://fips-rpms.spectrocloud.com/spectro_repo/",
+ ```
+
+
+
+ In this guide, the Kubernetes version is set to `1.27.11`.
+
+ ```json
+ "kubernetes_rpm_version": "1.27.11",
+ "kubernetes_semver": "v1.27.11",
+ "kubernetes_series": "v1.27"
+ ```
+
+ :::warning
+
+ The Kubernetes version you specify must be available in Palette. You must also select the version specified when
+ creating a cluster profile that uses the custom image.
+
+ :::
+
+13. Build the RHEL image with PXK. Replace `RHSM_USER` and `RHSM_PASS` with your Red Hat subscription username and
+ password. The build may take up to an hour to complete depending on your environment.
+
+ ```bash
+ PACKER_FLAGS=-on-error=ask RHSM_USER=xxxxxxx RHSM_PASS=xxxxxxxxxxxx make build-node-ova-vsphere-rhel-8
+ ```
+
+ :::tip
+
+ You can set the RHEL credentials as environment variables to avoid providing them every time you issue the command.
+
+ ```shell
+ export RHSM_USER=xxxxxxx
+ export RHSM_PASS=xxxxxxxxxxxx
+ ```
+
+ :::
+
+ Upon completion, the following output is displayed. Make sure to note the name of the image.
+
+ ```shell hideClipboard {7}
+ ==> vsphere-iso.vsphere (shell-local): Running local shell script: /tmp/packer-shell3103701471
+ Build 'vsphere-iso.vsphere' finished after 31 minutes 15 seconds.
+
+ ==> Wait completed after 31 minutes 15 seconds
+
+ ==> Builds finished. The artifacts of successful builds are:
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ ```
+
+14. The custom RHEL image with PXK is now built and available in the VMware vSphere environment. You can use this image
+ to deploy a Kubernetes cluster. To use the image, create a cluster profile with and select the
+ [BYOOS pack](../../../integrations/byoos.md). Refer to the custom image in the cluster profile when populating the
+ image details. You need to refer to the VM template path of the image.
+
+ ```yaml hideClipboard
+ pack:
+ osImageOverride: "/Datacenter/vm/sp-docs/rhel-8-kube-v1.27.11"
+ osName: "rhel"
+ osVersion: "8.8"
+ ```
+
+ Using the following image, take note of the three numbers highlighted in the image name.
+
+ 1. The BYOOS pack is selected as the operating system layer.
+ 2. The custom RHEL image template is specified in the `osImageOverride` field.
+ 3. The Kubernetes version is set to `1.27.11`, the same version specified in the `kubernetes.json` file.
+
+ ![A cluster profile using a custom RHEL image](/byoos_vmware_rhewl-pxk_cluster-profile.webp)
+
+ Complete the remaining steps in the
+ [cluster profile creation process](../../../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md).
+ Use the cluster profile to deploy a Kubernetes cluster in your VMware vSphere environment with the custom RHEL
+ image.
+
+
+
+1. Open a terminal session and log in to the Linux VM.
+
+2. Download the x86_64 RHEL ISO from the
+ [Red Hat Developer Portal](https://developers.redhat.com/products/rhel/download?source=sso). Make sure you download
+ the x86_64 DVD ISO and not the x86_64 BOOT ISO. This guide will use RHEL 8.8 as an example.
+
+ :::tip
+
+ Use the direct link to download the RHEL ISO locally through either `curl` or `wget`.
+
+ :::
+
+3. Update the system and install the latest packages.
+
+ ```bash
+ sudo apt update --yes && sudo apt upgrade --yes
+ ```
+
+4. Install HashiCorp Packer.
+
+ ```bash
+ wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
+ echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
+ sudo apt update && sudo apt install packer
+ ```
+
+5. Install `ansible`, `make`, `jq`, `unzip`, and `python3`.
+
+ ```bash
+ sudo apt-get install --yes make unzip jq python3-pip git && \
+ sudo apt install --yes software-properties-common
+ sudo add-apt-repository --yes --update ppa:ansible/ansible
+ sudo apt install --yes ansible
+ ```
+
+6. Update the PATH environment variable to include Python. Make sure Python 3.10 or later is installed. Otherwise, you
+ will encounter an error during the build process.
+
+ ```bash
+ export PATH=$PATH:/usr/bin/python3 && \
+ echo "export PATH=$PATH:/usr/bin/python3" >> ~/.bashrc
+ ```
+
+7. Clone the [Image Builder repository](https://github.com/kubernetes-sigs/image-builder).
+
+ ```bash
+ git clone https://github.com/kubernetes-sigs/image-builder.git
+ cd image-builder/images/capi
+ ```
+
+8. Install the VMware and vSphere Packer plugins.
+
+ ```bash
+ packer plugins install github.com/hashicorp/vmware
+ packer plugins install github.com/hashicorp/vsphere
+ ```
+
+9. Prepare the image build by downloading dependencies needed by the image-builder scripts.
+
+ ```bash
+ make deps-ova
+ ```
+
+ :::tip
+
+ If you encounter an error during the `make deps-ova` command, ensure you set the python3 path in the PATH environment
+ variable correctly. Also, make sure Python 3.10 or later is installed.
+
+ :::
+
+10. Update the **packer/ova/rhel-8.json** file and provide the path to the RHEL ISO image and the SHA256 checksum. Below
+ is an example using RHEL 8.8. The ISO in this example is located at **/home/ubuntu/rhel-isos/**.
+
+ ```json
+ "iso_checksum": "517abcc67ee3b7212f57e180f5d30be3e8269e7a99e127a3399b7935c7e00a09",
+ "iso_checksum_type": "sha256",
+ "iso_url": "file:///home/ubuntu/rhel-isos/rhel-8.8-x86_64-dvd.iso",
+ ```
+
+ :::tip
+
+ If you are unable to find the SHA256 checksum for the RHEL ISO, you can calculate it using the following command.
+ Replace `/path/to/iso` with the path to the RHEL ISO you downloaded.
+
+ ```bash
+ sha256sum /path/to/iso
+ ```
+
+ :::
+
+11. Update the **packer/ova/vsphere.json** file with all the required vSphere details. Use the table below to learn more
+ about each required field.
+
+ | Field Name | Description |
+ | --------------------- | -------------------------------------------------------------------------- |
+ | `cluster` | The name of the vSphere cluster where the Packer VM will be created. |
+ | `datacenter` | The name of the vSphere datacenter where the Packer VM will be created. |
+ | `datastore` | The name of the vSphere datastore the Packer VM will use. |
+ | `folder` | The name of the vSphere folder where the vSphere template will be created. |
+ | `insecure_connection` | Set to `true` if you are using a self-signed certificate for vCenter. |
+ | `network` | The name of the vSphere network the Packer VM will use. |
+ | `password` | The password for the vSphere user. |
+ | `resource_pool` | The name of the vSphere resource pool the Packer VM will use. |
+ | `username` | The username for the vSphere user. |
+ | `vcenter_server` | The IP address or FQDN of the vCenter server. |
+
+ ```json {2,5,6,7,8,10-12,14-15}
+ {
+ "cluster": "",
+ "convert_to_template": "false",
+ "create_snapshot": "true",
+ "datacenter": "",
+ "datastore": "",
+ "folder": "",
+ "insecure_connection": "false",
+ "linked_clone": "true",
+ "network": "",
+ "password": "",
+ "resource_pool": "",
+ "template": "",
+ "username": "",
+ "vcenter_server": ""
+ }
+ ```
+
+ Below is an example of a filled out **packer/ova/vsphere.json** file.
+
+ ```json hideClipboard
+ {
+ "cluster": "Cluster2",
+ "convert_to_template": "false",
+ "create_snapshot": "true",
+ "datacenter": "Datacenter",
+ "datastore": "vsanDatastore2",
+ "folder": "sp-docs",
+ "insecure_connection": "true",
+ "linked_clone": "true",
+ "network": "VM-NETWORK-1",
+ "password": "*************",
+ "resource_pool": "rp-docs",
+ "template": "",
+ "username": "example@vsphere.local",
+ "vcenter_server": "example.vcenter.dev"
+ }
+ ```
+
+12. If you want to change the default Kubernetes version, modify the **packer/config/kubernetes.json** file. The
+ following properties can be modified:
+
+ | Field Name | Description |
+ | ------------------------ | --------------------------------------------- |
+ | `kubernetes_rpm_version` | The version of the Kubernetes RPM to install. |
+ | `kubernetes_semver` | The Kubernetes version in semver format. |
+ | `kubernetes_series` | The Kubernetes series. |
+
+ In this guide, the Kubernetes version is set to `1.27.11`.
+
+ ```json
+ "kubernetes_rpm_version": "1.27.11",
+ "kubernetes_semver": "v1.27.11",
+ "kubernetes_series": "v1.27"
+ ```
+
+ :::warning
+
+ The Kubernetes version you specify must be available in Palette. You must also select the version specified when
+ creating a cluster profile that uses the custom image.
+
+ :::
+
+13. Build the RHEL image with PXK. Replace `RHSM_USER` and `RHSM_PASS` with your Red Hat subscription username and
+ password. The build may take up to an hour to complete depending on your environment.
+
+ ```bash
+ PACKER_FLAGS=-on-error=ask RHSM_USER=xxxxxxx RHSM_PASS=xxxxxxxxxxxx make build-node-ova-vsphere-rhel-8
+ ```
+
+ :::tip
+
+ You can set the RHEL credentials as environment variables to avoid providing them every time you issue the command.
+
+ ```shell
+ export RHSM_USER=xxxxxxx
+ export RHSM_PASS=xxxxxxxxxxxx
+ ```
+
+ :::
+
+ Upon completion, the following output is displayed. Make sure to note the name of the image.
+
+ ```shell hideClipboard {7}
+ ==> vsphere-iso.vsphere (shell-local): Running local shell script: /tmp/packer-shell3103701471
+ Build 'vsphere-iso.vsphere' finished after 31 minutes 15 seconds.
+
+ ==> Wait completed after 31 minutes 15 seconds
+
+ ==> Builds finished. The artifacts of successful builds are:
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ --> vsphere-iso.vsphere: rhel-8-kube-v1.27.11
+ ```
+
+14. The custom RHEL image with PXK is now built and available in the VMware vSphere environment. You can use this image
+ to deploy a Kubernetes cluster. To use the image, create a cluster profile with and select the
+ [BYOOS pack](../../../integrations/byoos.md). Refer to the custom image in the cluster profile when populating the
+ image details. You need to refer to the VM template path of the image.
+
+ ```yaml hideClipboard
+ pack:
+ osImageOverride: "/Datacenter/vm/sp-docs/rhel-8-kube-v1.27.11"
+ osName: "rhel"
+ osVersion: "8.8"
+ ```
+
+ Using the following image, take note of the three numbers highlighted in the image name.
+
+ 1. The BYOOS pack is selected as the operating system layer.
+ 2. The custom RHEL image template is specified in the `osImageOverride` field.
+ 3. The Kubernetes version is set to `1.27.11`, the same version specified in the `kubernetes.json` file.
+
+ ![A cluster profile using a custom RHEL image](/byoos_vmware_rhewl-pxk_cluster-profile-non-fips.webp)
+
+ Complete the remaining steps in the
+ [cluster profile creation process](../../../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md).
+ Use the cluster profile to deploy a Kubernetes cluster in your VMware vSphere environment with the custom RHEL
+ image.
+
+
+
+
+## Validate
+
+1. Log in to the VMware vSphere environment and navigate to the Inventory view.
+
+2. Select the **VMs and Templates** tab and verify the custom RHEL image with PXK is available.
+
+:::info FIPS Verification
+
+You can verify the FIPS mode is enabled on the custom RHEL image by SSH in to a cluster node and issuing the following
+commands. Use the SSH key provided during the cluster creation process to log in to the node. The default user is
+`spectro`.
+
+```bash
+cat /proc/sys/crypto/fips_enabled
+```
+
+If the output is `1`, then FIPS mode is enabled. If the output is `0`, the FIPS mode is disabled.
+
+```shell hideClipboard
+1
+```
+
+Next, verify the kernel command line arguments to ensure FIPS is enabled.
+
+```bash
+cat /proc/cmdline
+```
+
+Verify `fips=1` is present in the output.
+
+```shell hideClipboard
+[iBOOT_IMAGE=(hd0,msdos1)/boot/vmlinuz-4.18.0-513.24.1.el8_9.x86_64 root=UUID=a0672ca4-19fb-45ae-8f15-5a9d0218644d ro crashkernel=auto fips=1]
+```
+
+:::
diff --git a/docs/docs-content/byoos/usecases/vmware/vmware.md b/docs/docs-content/byoos/usecases/vmware/vmware.md
index b5e3e41277..7cc63db68d 100644
--- a/docs/docs-content/byoos/usecases/vmware/vmware.md
+++ b/docs/docs-content/byoos/usecases/vmware/vmware.md
@@ -13,3 +13,5 @@ use VMware vSphere as the infrastructure platform.
## Resources
- [RHEL and Konvoy](./konvoy.md)
+
+- [RHEL and PXK](./rhel-pxk.md)
diff --git a/docs/docs-content/integrations/byoos.md b/docs/docs-content/integrations/byoos.md
index 710e2e3261..22711b9532 100644
--- a/docs/docs-content/integrations/byoos.md
+++ b/docs/docs-content/integrations/byoos.md
@@ -23,7 +23,6 @@ BYOOS pack can be used with both Edge and non-Edge environments.
## Versions Supported
-
@@ -34,8 +33,6 @@ BYOOS pack can be used with both Edge and non-Edge environments.
## Prerequisites
-
-
- The Edge Provider images you have created and uploaded to a container registry. Refer to the
[Build Edge Artifacts](../clusters/edge/edgeforge-workflow/palette-canvos/palette-canvos.md) guide for steps on how to
create the Edge artifacts and how to upload your custom OS to a registry.
@@ -103,15 +100,10 @@ create Edge Artifacts.
-
-
-
## Prerequisites
To use the non-Edge BYOOS pack, you must have the following:
-
-
- A custom OS that you created. Refer to the
[Build Edge Artifacts](../clusters/edge/edgeforge-workflow/palette-canvos/palette-canvos.md) guide to learn how to
create a custom OS for Palette.
@@ -120,13 +112,11 @@ To use the non-Edge BYOOS pack, you must have the following:
The following is a list of parameters required when using the BYOOS pack.
-
-
-| Parameter | Description | Type |
-| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
-| `osImageOverride` | The image ID used as the base OS layer. This is the image ID as assigned in the infrastructure environment the image belongs to. Example: `ami-0f4804aff4cf9c5a2` | string |
-| `osName` | The name of the OS distribution. Example: `rhel` | string |
-| `osVersion` | The version of the OS distribution. Example: `"8"` | string |
+| Parameter | Description | Type |
+| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
+| `osImageOverride` | The image ID used as the base OS layer. This is the image ID as assigned in the infrastructure environment the image belongs to. Example: `ami-0f4804aff4cf9c5a2`. Refer to the [Reference Custom Image](#reference-custom-image) section to learn more. | string |
+| `osName` | The name of the OS distribution. Example: `rhel` | string |
+| `osVersion` | The version of the OS distribution. Example: `"8"` | string |
## Usage
@@ -145,12 +135,8 @@ types and how to create a cluster profile.
:::
-
-
Fill out the required parameters with information about your custom OS, such as the ID, OS distribution, and version.
-
-
```yaml
pack:
osImageOverride: "ami-0f4804aff4cf9c5a2"
@@ -158,22 +144,26 @@ pack:
osVersion: "8"
```
-
-
![View of the cluster profile wizard](/clusters_byoos_image-builder_cluster-profile-byoos-yaml.webp)
Check out the [Build Edge Artifacts](../clusters/edge/edgeforge-workflow/palette-canvos/palette-canvos.md) guide to
learn to create a custom image for Palette.
----
+### Reference Custom Image
+
+Different infrastructure providers have different ways of referencing custom images. The following table provides
+examples of how to reference custom images for different infrastructure providers.
-
+| Provider | Example Image ID | osImageOverride Value | Notes |
+| -------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| AWS | `ami-0f4804aff4cf9c5a2` | `ami-0f4804aff4cf9c5a2` | Ensure the AMI is available in the same region as the workload cluster. |
+| Azure | `https://docs.blob.core.windows.net/vhds/ubuntu20-1243.vhd` | `https://docs.blob.core.windows.net/vhds/ubuntu20-1243.vhd` | You must reference the Azure blob URL of a Virtual Hard Disk (VHD). Image Gallery ID reference is not supported. |
+| Vmware vSphere | `r_u-2004-0-k-1243-0-new.ova` | `path/to/template/r_u-2004-0-k-1243-0-new.ova` | Point to the path to where the custom template is located. Palette and VerteX expect OVAs to have the `r_u-` prefix. |
+| Vmware vSphere | `rhel-8-kube-v1.27.11` | `path/to/template/rhel-8-kube-v1.27.11` | Point to the path to where the custom template is located. |
Image creation tools are available to help you create custom OS images for the infrastructure provider you are using.
The following is a list of commonly used tools for creating a custom OS:
-
-
- [AWS EC2 Image Builder](https://aws.amazon.com/image-builder/).
- [Azure VM Image Builder](https://learn.microsoft.com/en-us/azure/virtual-machines/image-builder-overview?tabs=azure-powershell).
@@ -182,6 +172,9 @@ The following is a list of commonly used tools for creating a custom OS:
- [Kubernetes Image Builder (KIB)](https://image-builder.sigs.k8s.io/introduction.html).
+
+
+
@@ -193,8 +186,6 @@ The following is a list of commonly used tools for creating a custom OS:
You can retrieve details about the BYOOS Edge OS agent pack using the following Terraform code.
-
-
```hcl
data "spectrocloud_registry" "public_registry" {
name = "Public Repo"
@@ -213,8 +204,6 @@ data "spectrocloud_pack_simple" "byoos" {
You can retrieve details about the BYOOS pack by using the following Terraform code.
-
-
```hcl
data "spectrocloud_registry" "public_registry" {
name = "Public Repo"
diff --git a/docs/docs-content/integrations/kubernetes.md b/docs/docs-content/integrations/kubernetes.md
index 6343a338f3..94553be06b 100644
--- a/docs/docs-content/integrations/kubernetes.md
+++ b/docs/docs-content/integrations/kubernetes.md
@@ -1190,3 +1190,5 @@ data "spectrocloud_pack_simple" "k8s" {
- [Kubernetes Documentation](https://kubernetes.io/docs/concepts/overview/)
- [Image Swap with Palette](../clusters/cluster-management/image-swap.md)
+
+- [RHEL and PXK for Vmware](../byoos/usecases/vmware/rhel-pxk.md)
diff --git a/static/assets/docs/images/byoos_vmware_rhewl-pxk_cluster-profile-non-fips.webp b/static/assets/docs/images/byoos_vmware_rhewl-pxk_cluster-profile-non-fips.webp
new file mode 100644
index 0000000000..a77188c3b2
Binary files /dev/null and b/static/assets/docs/images/byoos_vmware_rhewl-pxk_cluster-profile-non-fips.webp differ
diff --git a/static/assets/docs/images/byoos_vmware_rhewl-pxk_cluster-profile.webp b/static/assets/docs/images/byoos_vmware_rhewl-pxk_cluster-profile.webp
new file mode 100644
index 0000000000..090525e064
Binary files /dev/null and b/static/assets/docs/images/byoos_vmware_rhewl-pxk_cluster-profile.webp differ