RedHat Enterprise Linux

Cloud providers which are listed below, support using RHEL as an operating system option:

  • AWS
  • Azure
  • GCE
  • KubeVirt
  • OpenStack
  • vSphere

AWS

First of all the RHEL gold image AMIs have to be enabled from the RedHat Customer Portal (this requires a cloud-provider subscription).

Afterwards, new images will be added to the aws account under EC2-> Images-> AMIs-> Private Images. Once the images are available in the aws account, the image id for RHEL (supported versions are mentioned here) should be then added to the MachineDeployment spec to the field ami.

Azure

RedHat provides images for Azure, documentation is available on RH customer portal.

The MachineDeployment field .spec.template.spec.providerSpec.value.cloudProviderSpec.imageID should reference the ID of the uploaded VM.

Azure RHEL images starting from 7.6.x don’t support cloud-init as their documentation states here. Thus, custom images can be used with a cloud-init pre-installed to solve this issue. Follow this documentation to prepare an image with cloud-init support.

GCE

RedHat also provides Gold Access Image for GCE and those can be fetched just like aws and azure. The MachineDeployment field .spec.template.spec.providerSpec.value.cloudProviderSpec.customImage should reference the ID of the used image.

RHEL images in GCE don’t support cloud-init. Thus, custom images can be used with a cloud-init pre-installed to solve this issue. Follow this documentation to upload custom RHEL images.

KubeVirt

In order to create machines which run RHEL as an operating system in KubeVirt cloud provider, the image should be available and fetched via an endpoint. This endpoint should be then added to the MachineDeployment field .spec.template.spec.providerSpec.value.cloudProviderSpec.sourceURL. For more information about the supported images please refer to the documentation from KubeVirt CDI.

OpenStack

Once RHEL images (e.g: Red Hat Enterprise Linux 8.x KVM Guest Image) are uploaded to OpenStack, the image name should be used in the MachineDeployment field .spec.template.spec.providerSpec.value.cloudProviderSpec.image.

vSphere

Find out here how to deploy a template VM in vSphere.