This is Part 2 in the Red Hat Hackfest review series. Click here to read Part 1.
After finding out about the use case and receiving the hardware (thanks again Red Hat, Intel and IBM), we set off on getting the base software installed on the devices. Setting up the hardware consisted of installing Single-node Openshift on the Intel NUC and RHEL (Red Hat Enterprise Linux) for Edge on the Fitlet2.
We initially looked at using PXE to install the OS on each unit but the time sink for this was too large within the scope of our normal day to day job (nevermind the additional hardware requirements).
The installation process also took a turn for the worse when we realised that we needed an HDMI cable and ironically our large boxes of cables were without HDMI.
INSTALL SINGLE-NODE OPENSHIFT (SNO) ON THE INTEL NUC
Single-node Openshift is a proof of concept by Red Hat to experiment with deploying Openshift in environments where it is not feasible to implement large compute resources. This is ideal for an edge location like a factory where you may not have space to set up a mini datacenter/server room for multiple hosts and a virtual environment to run fully-fledged Openshift. It does come with a warning that it isn’t HA (one control plane and ETCD store etc.) and that it isn’t officially supported by Red Hat yet but this is fine for our use case.
Once we had an HDMI cable (and additional USB keyboard for good measure) at hand, we proceeded to install SNO on the Intel NUC. There is an in-depth guide on the QioT website here but the basic premise was as follows:
Download a Discovery ISO (technology preview so be beware) selecting SNO as an installation option from https://console.redhat.com/openshift/
Burn the ISO to a USB flash drive
Boot the Intel NUC from the USB flash drive
Go back to the Red Hat Console and finalise the installation from there
Eventually, the Console will let you know that you need to remove the USB flash drive
Update/configure DNS
The installation took about 30-minutes although we did it a few times as we went further along when we wanted to change hostnames and/or base domains for the project.
INSTALL RHEL FOR EDGE ON THE FITLET2
A use case we could prove to customers was using RHEL for Edge on the Fitlet2. This is an ideal scenario where a customer would want to use an enterprise-grade distribution with enterprise-level support for their edge devices.
Installing RHEL for Edge edge was relatively simple although, again, we would have preferred to use a local PXE server that we could preconfigure our devices (imagine 100s of machines that needed to be deployed). There is an in-depth guide to installing RHEL for Edge on the Fitlet2 here but here is the main premise:
Boot the Fitlet2 and enter the BIOS
Make sure the date/time are correct, turn off Secure Boot and update boot priorities (HDD, USB, etc.)
Download the RHEL 8 iso from https://access.redhat.com/downloads.
Create a bootable USB flash drive
Insert microSD card and USB flash drive into Fitlet2 and boot
During boot, change the boot params to target the RHEL for Edge target
The install should work through by itself
Once installed, there wasn’t much we needed to do on the actual device other than configuring the WiFi.
DNS AND PORT-FORWARDING
Because LSD Open is a distributed company (we’re not even remote because we have nothing to be remote too), we had to expose the environment to the greater team. To do this we configured public DNS entries to point to the network it was in (using dynamic DNS).
We then added port forwarding on the router into said network to forward requests to the SNO (API route for Openshift and the various routes for the services like AMQ via AMQP).
Ideally in this scenario, we would have set up a separate network using Wireguard or the likes allowing everyone to hop onto this network when they needed to work on it. Again, this is something we would have needed more time to execute on.