In this guide we will perform an installation of Red Hat OpenShift Container Platform 4.9 on KVM Virtual Machines. OpenShift is a powerful, platform agnostic, enterprise-grade Kubernetes distribution focused on developer experience and application security. The project is developed and owned by Red Hat Software company. OpenShift Container Platform is built around containers orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux.
The OpenShift platform offers automated installation, upgrades, and lifecycle management throughout the container stack – from the operating system, Kubernetes and cluster services, to deployed applications. Operating system that will be used on both the Control plan and Worker machines is Red Hat CoreOS (RHCOS). The RHCOS OS includes the kubelet, which is the Kubernetes node agent, and the CRI-O container runtime optimized for Kubernetes workloads.
In my installation the deployment is performed on a single node KVM compute server. This is not a production setup with high availability and should only be used for proof-of-concept and demo related purposes.
Red Hat’s recommendation on each cluster virtual machine minimum hardware requirements is as shown in the table below:
| Virtual Machine | Operating System | vCPU | Virtual RAM | Storage |
|---|---|---|---|---|
| Bootstrap | RHCOS | 4 | 16 GB | 120 GB |
| Control plane | RHCOS | 4 | 16 GB | 120 GB |
| Compute | RHCOS | 2 | 8 GB | 120 GB |
But the preferred requirements for each cluster virtual machine are:
| Virtual Machine | Operating System | vCPU | Virtual RAM | Storage |
|---|---|---|---|---|
| Bootstrap | RHCOS | 4 | 16 GB | 120 GB |
| Control plane | RHCOS | 8 | 16 GB | 120 GB |
| Compute | RHCOS | 6 | 8 GB | 120 GB |
The shared hardware requirements information for the virtual machines is not accurate since it depends on the workloads and desired cluster size when running in Production. Sizing can be done as deemed fit.
My Lab environment variables
- OpenShift 4 Cluster base domain: example.com ( to be substituted accordingly)
- OpenShift 4 Cluster name: ocp4 ( to be substituted accordingly)
- OpenShift KVM network bridge: openshift4
- OpenShift Network Block: 192.168.100.0/24
- OpenShift Network gateway address: 192.168.100.1
- Bastion / Helper node IP Address (Runs DHCP, Apache httpd, HAProxy, PXE, DNS) – 192.168.100.254
- NTP server used: time.google.com
Used Mac Addresses and IP Addresses:
| Machine Name | Mac Address (Generate yours and use) | DHCP Reserved IP Address |
| bootstrap.ocp4.example.com | 52:54:00:a4:db:5f | 192.168.100.10 |
| master01.ocp4.example.com | 52:54:00:8b:a1:17 | 192.168.100.11 |
| master02.ocp4.example.com | 52:54:00:ea:8b:9d | 192.168.100.12 |
| master03.ocp4.example.com | 52:54:00:f8:87:c7 |