Deploying Single Node Bare metal OpenShift using Advanced Cluster Management

Michael Kotelnikov
Cloud Computing
June 28, 2022

Deploying Single Node Bare metal OpenShift using Advanced Cluster Management

In this article I describe the procedure of deploying a single node, bare metal OpenShift using Red Hat Advanced Cluster Management for Kubernetes 2.4 CIM (Central Infrastructure Management). The purpose of this article is to provide a complete walk through of the process — from the moment you install RHACM (Red Hat Advanced Cluster Management for Kubernetes) until you have a running SNO (Single Node OpenShift) on a bare metal server in your environment. Other SNO deployment references can be found at -

Environment Setup

The environment setup I’m using for this blog consists of -

  • Red Hat OpenShift Container Platform 4.9.0 (Used for installing RHACM)
  • Red Hat Advanced Cluster Management for Kubernetes 2.4.0
  • A fake Bare metal server (32 GB RAM, 12 CPU, 160 GB HDD)

To set up and configure Advanced Cluster Management in your environment, follow the product’s documentation or blogs that cover the topic.

DNS & DHCP Setup

In this installation, I’m using a bind DNS server, and a dhcpd DHCP server to set up networking for the SNO deployment.

The DNS zone I’m using for the deployment —

The DHCP configuration I’m using for the deployment -

Central Infrastructure Management

Central Infrastructure Management (CIM) is an implementation of the assisted installer service in RHACM. CIM is not configured out of the box because it requires persistent storage. The CIM instance can be configured manually by running the next command on the hub cluster -

To validate that CIM is configured correctly, run the next commands on the hub cluster -

All pods should be running, all PVCs should be bound.

Infrastructure Environment

Now that you have configured CIM, you may configure the Infrastructure environment. The infrastructure environment lets you manage and aggregate physical hosts in your organization. To create an infrastructure environment, log into RHACM’s dashboard and navigate to — Infrastructure -> Infrastructure environments -> Create infrastructure environment. Fill the fields in the form. the result may look like -

The Pull secret can be obtained at —

Press on Create to initialize the infrastructure environment.

After the infrastructure environment is created, navigate to Infrastructure -> Infrastructure environments -> <infrastructure environment name> -> Add host. A window should pop up with a discovery ISO URL. The discovery ISO is used by CIM to inject the discovery agent to physical hosts. The agent aggregates data about the physical host, and reports back to CIM.

Download the ISO and load it as virtual media to your physical server. Boot the server from the discovery ISO. The server boots and fetches the Red Hat CoreOS live rootfs image for the discovery agent to run on -

The physical server must have networking configured (DHCP) for this stage to be successful.

After a couple of minutes, a reference to the physical server will appear at the RHACM dashboard at — Infrastructure -> Infrastructure environments -><infrastructure environment name>->Hosts -

Press on Approve host to continue. The host status should now be Ready.

The Approve host option is used as a security measure in CIM.

Deploying SNO

After setting up the host, you’re ready to proceed with the cluster creation. But, before you begin with the process, make sure to run the next command on your hub cluster to allow SNO creation -

Create a Credential for your cluster deployment to use during the provisioning process. To create the credential, navigate to Credentials -> Add credential -> On Premise. Follow the setup process -

Press on Add to create the credential.

After creating the secret, navigate to Infrastructure -> Clusters -> Create cluster. Choose the On-premises provider and provide the secret you have created in the previous step -

Press on Next.

At the next page of the setup, provide the cluster name and make sure that the Install single node OpenShift (SNO) checkbox is checked. Validate the pull secret and base domain references -

Make sure that <cluster-name>.<base-domain> correlates with the DNS zone you have created for the SNO deployment.

Press on Next.

At the next page of the setup, associate any Ansible automation you’d like to run at different stages of the cluster’s lifecycle -

Press on Next.

At the next page of the setup, validate that the information you have provided until now is correct -

Press on Save.

At the next page of the setup, associate your physical server to the SNO deployment -

Press on Next.

At the next page of the setup, wait until the physical server’s status changes from Binding to Bound. The server is now ready to become a Single Node OpenShift instance. Make sure to select the subnet you’d like to deploy SNO on. Afterwards, paste the public key that’s going to be used for future troubleshooting of the physical server -

Press on Next.

At the next page of the setup, validate that the information you have provided until now is correct -

Press on Save and install.

The installation process of SNO begins. Press on See cluster details to monitor the deployment’s progress -

Note that the physical server will reboot several times. Make sure to change the boot order from the discovery ISO to a physical disk now.

You may press on View Cluster Events to view the installation progress -

When the deployment process is finished, the next screen appears -

Note that the kubeadmin user password and OpenShift console URL are now available at the installation dashboard.

SNO is now being imported to RHACM’s management stack. RHACM installs the Klusterlet agent on the SNO. When the Klusterlet finishes its installation process, the SNO appears with the Ready status in RHACM’s cluster management dashboard.

You may now login into the cluster, and perform final validations that confirm a successful installation -


Red Hat Advanced Cluster Management for Kubernetes 2.4 makes Bare Metal Single Node OpenShift super easy to work with.

Try it yourself!

Michael Kotelnikov

Cloud and Devops enthusiast.

Experienced in designing and implementing large scale cloud infrastructures and Devops solutions.

Providing solutions regarding architecture, network design, monitoring, middleware and security.

Specialized in Linux server management alongside cloud native technologies.

Keep Reading


Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form