Adding nodes to Red Hat OpenShift clusters on-premises is a laborious and sometimes complex endeavor. With various methods available, each with different levels of automation, users often find themselves navigating through complex and even unsupported solutions, leading to a less-than-ideal user experience.
A new feature is now available as a Developer Preview in OpenShift 4.16, that makes cluster expansions faster, simpler, and more user-friendly than ever before.
This new method leverages the Agent Based Installer technology under the hood, but doesn’t need the cluster to have been installed by it, it will work on any cluster where its nodes can be installed from an ISO image.
It first gets information of the cluster to be expanded, then it provides a bootable ISO image, and after booting it on the nodes, they are added to the cluster. See Figure 1.
![A view of the workflow to add nodes to OpenShift clusters. There are four boxes, alternating between red and gray, with arrows between them pointing from left to right. The first box is gray and labelled Describe hosts, the second box is red and labelled Generate bootable image, the third is gray and labelled Boot hosts, and the fourth is red and labelled Approve certificates.](/sites/default/files/styles/article_full_width_1440px_w/public/openshift_4.16_blog_post_draft_easily_expanding_openshift_clusters_1.png?itok=sX3P3qh9)
Easiest way to add nodes to on-premise clusters
The highlights:
- Add nodes to any on-premises OpenShift cluster, regardless of the installation method used.
- The process is just booting an ISO image that automatically adds the new node to the cluster.
- Supports bare metal, vSphere, Nutanix, and platform agnostic.
- Supports OpenShift clusters running on Oracle Cloud Infrastructure (OCI).
Making it better
This feature addresses several critical needs within the OpenShift on-premise ecosystem:
- Simplified user experience: By replacing manual steps with a couple of commands, the feature significantly reduces the complexity of cluster expansions, resulting in a vastly improved user experience.
- Add nodes to any cluster: Regardless of the installation method used, users can now enjoy a consistent and streamlined process for expanding clusters, eliminating confusion and enhancing convenience.
- Fail fast: It validates the host you are adding to detect common configuration problems in the host or the environment.
- Elimination of overkill: Users no longer need to install and configure the Multicluster Engine for single-cluster management, streamlining the process and conserving system resources.
- BMC independence: For IPI-deployed bare metal clusters, the need for Baseboard Management Controller (BMC) availability is eliminated, simplifying cluster expansion.
- Field alignment: By providing an official solution, this feature addresses the custom automations and inconsistent processes that have emerged in the field, ensuring alignment with best practices and reducing complexity.
How we did it
In every cluster in OpenShift 4.16 there is a new binary called nodejoiner. This was added so that we can get all the information necessary to add a node to the cluster with just one command from the client, which currently is the node-joiner.sh
.
Note that since the clusters need to have this binary, only clusters in OpenShift 4.16 and later can benefit from this feature.
When this feature becomes Generally Available the image generation will be integrated in the oc
command directly, without any need for the helper script.
You can see the approved oc
command enhancement here.
Final notes
The addition of this feature represents a significant leap forward in the OpenShift ecosystem. By simplifying cluster expansions and unifying the user experience, OpenShift continues to evolve as the premier platform for containerized application deployment and management. This is a Developer Preview feature in OpenShift 4.16. Please share your feedback to help us improve it.
To use it now follow the instructions documented in the installer docs on GitHub.