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