How to Setup Single Node OpenShift Cluster on RHEL 8

Using RedHat CodeReady Containers (CRC), we can easily install latest version of OpenShift cluster on laptop, desktop or in a virtual machine. In this tutorial, we will demonstrate how to setup single node openshift cluster on RHEL 8 system with crc. This type of openshift cluster is used only for testing and development purpose, it is not recommended for the production use.

Minimum System Requirement for OpenShift based on CRC
  • Freshly Installed RHEL 8
  • KVM hypervisor
  • 4 CPUs (or vCPUs)
  • 8 GB RAM
  • 40 GB Free space on /home

I am assuming above requirements are already fulfilled on your RHEL 8 system. In my case I have installed RHEL 8 with GUI and KVM hypervisor during the installation. In case you have minimal installation of RHEL 8 then first setup kvm on your system. Let’s jump into the installation steps,

Step1) Download Latest Version of CRC

Open the terminal and run the following wget command,

$ wget

Sample output of above command would be


Step 2) Extract Downloaded CRC archive & copy its binary

Once crc compressed archive file is downloaded, extract it using below tar command,

$ sudo tar -xpvf crc-linux-amd64.tar.xz

Copy the crc binary in /usr/local/bin directory

$ cd crc-linux-1.22.0-amd64/
$ sudo cp crc /usr/local/bin/

Now verify the crc version by running following command:

$ crc version
CodeReady Containers version: 1.22.0+6faff76f
OpenShift version: 4.6.15 (embedded in executable)

Step 3) Start OpenShift 4.x Deployment using CRC

Run ‘crc setup’ command to download crc virtual machine (crc.qcow2)  which is around 10.83 GB.

$ crc setup


Once the ‘crc  setup’ is completed successfully then download the pull secret which will be used during the openshift cluster startup.

To download the pull secret login to below Redhat portal,


Now finally run below command to start Openshift cluster,


$ crc start -p <path-of-pull-secret-file>

$ crc start -p pull-secret

Once above command is executed successfully, we will get the following output. In the output we have ‘kubeadmin’ credentials and cluster URL. Make a note of it we will use them later.


To connect to OpenShift Cluster, set the following environment by executing:

$ crc oc-env
export PATH="/home/sysadmin/.crc/bin/oc:$PATH"
# Run this command to configure your shell:
# eval $(crc oc-env)

Copy above output and paste it in ‘.bashrc’ file at the end as shown below:

[sysadmin@openshift-rhel8 ~]$ vi .bashrc
export PATH="/home/sysadmin/.crc/bin/oc:$PATH"
# Run this command to configure your shell:
eval $(crc oc-env)

Save & close the file

Source the ‘.bashrc’ file to make above changes into the affect.

$ source .bashrc

Step 4) Connect and verify OpenShift Cluster

Before connecting to cluster, let first enable bash autocompletion feature. Run following commands,

$ oc completion bash > oc_bash_completion
$ sudo cp oc_bash_completion /etc/bash_completion.d/

Logout and login again.

Now, it’s time to connect to Openshift cluster, run below command, (This was there in crc start command output)

$ oc login -u kubeadmin -p APBEh-jjrVy-hLQZX-VI9Kg https://api.crc.testing:6443

Output of above command would be,


Above output confirms that ‘kubeadmin’ is able to login to the cluster successfully.

Run following oc command to verify the cluster details

$ oc get nodes
$ oc cluster-info
$ oc get clusteroperators


To test this cluster, let’s deploy nginx based application, run beneath commands,

$ oc new-app --name nginx-app --docker-image=nginx
$ oc get deployment
nginx-app   1/1     1            1           2m2s
$ oc get pods
NAME                         READY   STATUS    RESTARTS   AGE
nginx-app-6d7c86dfd7-b6mvz   1/1     Running   0          2m4s
$ oc expose service nginx-app exposed
$ oc get route
nginx-app nginx-app-default.apps-crc.testing nginx-app 80-tcp         None

[sysadmin@openshift-rhel8 ~]$

Now try to access the application using curl command,

$ curl nginx-app-default.apps-crc.testing


Perfect, above confirms that nginx based application has been deployed successfully on OpenShift cluster.

To Access OpenShift Web console, run

$ crc console

Above will open web browser and we will get OpenShift GUI login screen , Use the kubeadmin and its credentials


After Entering the credentials, following dashboard will be presented


Great, above screen confirms that OpenShift Web GUI also is working fine.


To stop the cluster, run

$ crc stop

To Start the cluster again, run

$ crc start

To Terminate the cluster, run

$ crc stop
$ crc delete -f
$ crc cleanup

That’s all from this tutorial, I hope it helps you to setup single node openshift cluster on RHEL 8 system. Please don’t hesitate to share your feedback and comments.

Also Read : How to Setup NGINX Ingress Controller in Kubernetes

Share on:

I am a Cloud Consultant with over 15 years of experience in Linux, Kubernetes, cloud technologies (AWS, Azure, OpenStack), automation (Ansible, Terraform), and DevOps. I hold certifications like RHCA, CKA, CKAD, CKS, AWS, and Azure.

2 thoughts on “How to Setup Single Node OpenShift Cluster on RHEL 8”

  1. Very good document. Helped me build my crc. Worked like a charm on windows 10 prof, vmware player 16, Centos 8. On DELL desktop. Thanks a lot

  2. thank you very much i applied the instructions on rehel8.8 under VM/Ware 15.5.17 build-17171414 (with select Virtualisation Engine Intel VTx/ETP or AMD-V/RVI)
    and it works fine.


Leave a Comment