Edge computing is everywhere. While many organizations look to take advantage of deploying applications at the edge, the physical nature of many of these edge sites can cause challenges to the architects who need to deploy hardware in confined spaces or where network connectivity back to the central data center may be intermittent.

To help solve this problem, we have been working to make our Red Hat OpenShift footprint smaller to fit into these more constrained environments by putting both control and worker capabilities into a single node. Though this capability is still in developer preview, we would  like you to try it out and give us your feedback.

Ready to Start? Here’s What to Do:

  • Access the assisted-installer portal - a console.redhat.com hosted service that simplifies and streamlines the deployment experience of OpenShift on bare-metal hardware using the minimum of external requirements. Using the portal makes deploying OpenShift simpler: 
    • You do not  need to sort out connectivity between OpenShift nodes. Since you are only installing one node, there is no need to configure and ensure network connectivity between multiple nodes.
    • The need for a separate machine to run the openshift-installer binary is eliminated. This process is now handled and managed by the console.redhat.com hosted service, reducing the number of systems required.
    • You do not  rely on pre-configured domain names from IT for API or ingress services. Assisted Installer configures required DNS internally on the host, and so you can complete the installation without external DNS configuration.

When installing single-node OpenShift, you get assisted-installer features including:

  • Preflight validations - the deployment process will do its best to identify problems and conduct preflight checks to ensure requirements are met prior to the cluster installation process.
  • Smart defaults and recommended practices - while there is  no one-size-fits-all deployment of OpenShift, it is  important to standardize the deployment configurables based on what Red Hat recommends, including network, installation disk, CIDRs, optional dynamic role allocation based on available hardware resources, and more.
  • Process monitoring and error handling - Red Hat wants to provide transparency and a detailed view into what is  going on with the deployment. While the installation process is simplified and streamlined, you do not  lose visibility to see how things are going with the deployment and help with troubleshooting if needed. The assisted installer is designed to provide deep-dive analysis of cluster deployment and provide the ability to download log files throughout the process, minimizing the need to connect directly to the machines; everything is pulled from the cloud service.
  • Visualization and persistence - once the cluster is up and running, the assisted installer will link to the endpoint of your new cluster, provide the username/password, the kubeconfig, and maintain this information for as long as you want.
  • Call-home mechanism - once the target system boots up from the ISO, provided that there is  a basic set of external networking in place (DHCP enabled, basic DNS to allow internet-based resolution, and a network route, or via proxy, to the cloud-hosted assisted installer platform), the system will call home (to assisted installer service), enabling users to drive the rest of the cluster configuration, validation, and installation monitoring via the service web interface. This call-home mechanism exploits well known and trusted APIs over HTTPs with a built-in security mechanism for anything more complicated.
  • BIY (Boot It Yourself) - While bare metal provisioning is something many organizations are already doing, it can vary between different orgs, so we have  developed a simple ISO-based artifact for booting the host. This provides the user the option to choose how they would like to apply it using their existing operational model. Bare metal machines can be booted via real CD, virtual CD, USB or PXE. From then on it is  zero-touch, meaning everything else is driven by the assisted installer service with no need for the installation process to contact out-of-band management platforms. This ISO is generated on-demand and is therefore customized for each cluster deployment.

To see this in action, check out a recording.

Things to Keep in Mind

  • Single-node OpenShift requires the following minimum host resources: vCPU: 8, VirtualRAM: 16 GB, Storage: 120 GB 
  • Single-node OpenShift deployment does not have an option to add additional hosts. 
  • Single-node OpenShift isn’t highly-available. It explicitly does not assume zero downtime of the Kubernetes API.

Deployment Options

OpenShift installs typically require a temporary bootstrap machine, which is usually a separate machine, but edge deployments are often performed in environments where there are no extra nodes.
However, for these use-cases, the new functionality provided by OpenShift’s “Bootstrap-in-Place” option eliminates the separate bootstrap node requirement for single-node deployments. So when installing single-node OpenShift, you only need the node you wish to install onto.

With single-node OpenShift, you have three choices to perform the installation:

  1. Red Hat Advanced Cluster Management for Kubernetes - allows provisioning single-node OpenShift using kube-native APIs. Read more about it here.  
  2. Use the OpenShift Container Platform Installer -  generate a bootstrap-in-place Ignition configuration, embed the bootstrap-in-place Ignition config in the RHCOS Live CD ISO image, and boot the node with the Live CD image. Once booted, the Live CD will automatically perform the bootstrap logic and reboot to become the single node OpenShift instance (try out a POC we have  made available on GitHub).
  3. The OpenShift assisted-installer
    • Login and select the “Create Cluster” button.
    • Select a cluster name and add in the base domain.
    • Select “Install single node OpenShift (SNO)” as the default is to deploy a multi-node cluster.
    • Read and accept the warnings about single node OpenShift availability, scalability and life cycle management limitations at present given it is  a technology preview.
    • Select “Generate Discovery ISO.”
    • Add your public ssh key and download the ISO. 
    • Attach this discovery ISO to the host you wish to install.
    • Set the host to automatically boot from CDROM, and power the system up.
    • After a few moments your host will show up in the assisted installer UI.
    • The host will start reporting information about the system and network configuration. 
    • Select the subnet you want OpenShift to use.
    • Click next, review the setting and select “Install cluster”
    • View the installation progress until the installation complete

As mentioned, this capability is still in developer preview, but we are  really looking forward to hearing from you. Please feel free to let us know how it goes by entering your experience into this single-node OpenShift feedback tracker


About the author

Eran Cohen joined Red Hat in January 2020. He is a software developer with a passion for infrastructure and technology and has expertise in design, prototype, and execution. He is currently focused on the OpenShift Assisted Installer and Single Node OpenShift.

Read full bio