Chapter 1. Introducing RHEL for Edge images

A RHEL for Edge image is an rpm-ostree image that includes system packages to remotely install RHEL on Edge servers.

The system packages include:

  • Base OS package
  • Podman as the container engine
  • Additional RPM Package Manager (RPM) content

Differently from RHEL images, RHEL for Edge is an immutable operating system, that is, it contains a read-only root directory with the following characteristics:

  • The packages are isolated from root directory
  • Package installs create layers that make it easy to rollback to previous versions
  • Efficient updates to disconnected environments
  • Supports multiple operating system branches and repositories
  • Has a hybrid rpm-ostree package system

You can deploy a RHEL for Edge image on Bare Metal, Appliance, and Edge servers.

You can compose customized RHEL for Edge images using the RHEL image builder tool. You can also create RHEL for Edge images by accessing the edge management application in the Red Hat Hybrid Cloud Console platform and configure automated management.

The edge management application simplifies the way you can provision and register your images. To learn more about the edge management, see the Create RHEL for Edge images and configure automated management documentation.

Warning

Using RHEL for Edge customized images that were created using the RHEL image builder on-premise version artifacts is not supported in the edge management application. See Edge management supportability.

With a RHEL for Edge image, you can achieve the following:

Key features

1.1. RHEL for Edge—supported architecture

Currently, you can deploy RHEL for Edge images on AMD and Intel 64-bit systems.

Note

RHEL for Edge supports ARM systems on some devices. For more information about the supported devices, see Red Hat certified hardware.

1.2. How to compose and deploy a RHEL for Edge image

Composing and deploying a RHEL for Edge image involves two phases:

  1. Composing a RHEL rpm-ostree image using the RHEL image builder tool. You can access RHEL image builder through a command-line interface in the composer-cli tool, or use a graphical user interface in the RHEL web console.
  2. Deploying the image using RHEL installer.

While composing a RHEL for Edge image, you can select any of the following image types. Composing the different RHEL for Edge images might or might not require network access. See the table:

Table 1.1. RHEL for Edge images type

Image typeDescriptionSuitable for network-based deploymentsSuitable for non-network-based deploymentsUsage

RHEL for Edge Commit (.tar)

The edge-commit image is not directly bootable, even though it contains a full operating system. To boot the edge-commit image type, you must deploy it.

Yes

No

Delivers atomic and safe updates to a system.

RHEL for Edge Container (.tar)

The edge-container creates an OSTree commit and embeds it into an OCI container with a web server. When the edge-commit image starts, the web server serves the commit as an OSTree repository.

No

Yes

Serves the OSTree commits to be fetched from an installer image.

RHEL for Edge Installer (.iso)

The edge-installer image type pulls the commit from the running container and creates an installable boot ISO with a Kickstart file, which is configured to use the embedded OSTree commit.

No

Yes

Write the image to a flash media and use in disconnected environments that require an ISO image.

RHEL for Edge Raw Image (.raw.xz)

The edge-raw-image compressed raw images consist of a file that contains a partition layout with an existing deployed OSTree commit in it.

Yes

Yes

Use for the bare metal platforms, by flashing the RHEL Raw Images on a hard disk or boot on a virtual machine.

RHEL for Edge Simplified Installer (.iso)

The edge-simplified-installer image uses the Ignition tool to inject the user configuration into the images at an early stage of the boot process.

Yes

Yes

Use for an unattended installation to a device. After the boot it provisions the RHEL for Edge image to a device.

RHEL for Edge AMI (.ami)

The edge-ami image uses the Ignition tool to inject the user configuration into the images at an early stage of the boot process. You can upload the .ami image to AWS and boot an EC2 instance in AWS.

Yes

Yes

Launch an EC2 instance in AWS cloud.

RHEL for Edge VMDK (.vmdk)

The edge-vsphere image uses the Ignition tool to inject the user configuration into the images at an early stage of the boot process. You can load the image on vSphere and boot the image in a VM vSphere

Yes

Yes

Boot the .vmdk image in a vSphere VM

The image types vary in terms of their contents, and are therefore suitable for different types of deployment environments.

1.3. Non-network-based deployments

Use RHEL image builder to create flexible RHEL rpm-ostree images to suit your requirements, and then use Anaconda to deploy them in your environment.

You can access RHEL image builder through a command-line interface in the composer-cli tool, or use a graphical user interface in the RHEL web console.

Composing and deploying a RHEL for Edge image in non-network-based deployments involves the following high-level steps:

  1. Install and register a RHEL system
  2. Install RHEL image builder
  3. Using RHEL image builder, create a blueprint with customizations for RHEL for Edge Container image
  4. Import the RHEL for Edge blueprint in RHEL image builder
  5. Create a RHEL for Edge image embed in an OCI container with a webserver ready to deploy the commit as an OSTree repository
  6. Download the RHEL for Edge Container image file
  7. Deploy the container serving a repository with the RHEL for Edge Container commit
  8. Using RHEL image builder, create another blueprint for RHEL for Edge Installer image
  9. Create a RHEL for Edge Installer image configured to pull the commit from the running container embedded with RHEL for Edge Container image
  10. Download the RHEL for Edge Installer image
  11. Run the installation

The following diagram represents the RHEL for Edge image non-network deployment workflow:

Figure 1.1. Deploying RHEL for Edge in non-network environment

RHEL for Edge non-network deployment workflow

1.4. Network-based deployments

Use RHEL image builder to create flexible RHEL rpm-ostree images to suit your requirements, and then use Anaconda to deploy them in your environment. RHEL image builder automatically identifies the details of your deployment setup and generates the image output as an edge-commit as a .tar file.

You can access RHEL image builder through a command-line interface in the composer-cli tool, or use a graphical user interface in the RHEL web console.

You can compose and deploy the RHEL for Edge image by performing the following high-level steps:

For an attended installation

  1. Install and register a RHEL system
  2. Install RHEL image builder
  3. Using RHEL image builder, create a blueprint for RHEL for Edge image
  4. Import the RHEL for Edge blueprint in RHEL image builder
  5. Create a RHEL for Edge Commit (.tar) image
  6. Download the RHEL for Edge image file
  7. On the same system where you have installed RHEL image builder, install a web server that you want to serve the RHEL for Edge Commit content. For instructions, see Setting up and configuring NGINX
  8. Extract the RHEL for Edge Commit (.tar) content to the running web server
  9. Create a Kickstart file that pulls the OSTree content from the running web server. For details on how to modify the Kickstart to pull the OSTree content, see Extracting the RHEL for Edge image commit
  10. Boot the RHEL installer ISO on the edge device and provide the Kickstart to it.

For an unattended installation, you can customize the RHEL installation ISO and embed the Kickstart file to it.

The following diagram represents the RHEL for Edge network image deployment workflow:

Figure 1.2. Deploying RHEL for Edge in network-base environment

RHEL for Edge network deployment workflow

1.5. Difference between RHEL RPM images and RHEL for Edge images

You can create RHEL system images in traditional package-based RPM format and also as RHEL for Edge (rpm-ostree) images.

You can use the traditional package-based RPMs to deploy RHEL on traditional data centers. However, with RHEL for Edge images you can deploy RHEL on servers other than traditional data centers. These servers include systems where processing of large amounts of data is done closest to the source where data is generated, the Edge servers.

The RHEL for Edge (rpm-ostree) images are not a package manager. They only support complete bootable file system trees, not individual files. These images do not have information regarding the individual files such as how these files were generated or anything related to their origin.

The rpm-ostree images need a separate mechanism, the package manager, to install additional applications in the /var directory. With that, the rpm-ostree image keeps the operating system unchanged, while maintaining the state of the /var and /etc directories. The atomic updates enable rollbacks and background staging of updates.

Refer to the following table to know how RHEL for Edge images differ from the package-based RHEL RPM images.

Table 1.2. Difference between RHEL RPM images and RHEL for Edge images

Key attributes

RHEL RPM image

RHEL for Edge image

OS assembly

You can assemble the packages locally to form an image.

The packages are assembled in an OSTree which you can install on a system.

OS updates

You can use dnf update to apply the available updates from the enabled repositories.

You can use rpm-ostree upgrade to stage an update if any new commit is available in the OSTree remote at /etc/ostree/remotes.d/. The update takes effect on system reboot.

Repository

The package contains DNF repositories

The package contains OSTree remote repository

User access permissions

Read write

Read-only (/usr)

Data persistence

You can mount the image to any non tmpfs mount point

/etc & /var are read/write enabled and include persisting data.