Installing on a single node
Installing OpenShift Container Platform on a single node
Abstract
Chapter 1. Preparing to install on a single node
1.1. Prerequisites
- You reviewed details about the OpenShift Container Platform installation and update processes.
- You have read the documentation on selecting a cluster installation method and preparing it for users.
1.2. About OpenShift on a single node
You can create a single-node cluster with standard installation methods. OpenShift Container Platform on a single node is a specialized installation that requires the creation of a special Ignition configuration file. The primary use case is for edge computing workloads, including intermittent connectivity, portable clouds, and 5G radio access networks (RAN) close to a base station. The major tradeoff with an installation on a single node is the lack of high availability.
The use of OpenShiftSDN with single-node OpenShift is not supported. OVN-Kubernetes is the default network plugin for single-node OpenShift deployments.
1.3. Requirements for installing OpenShift on a single node
Installing OpenShift Container Platform on a single node alleviates some of the requirements for high availability and large scale clusters. However, you must address the following requirements:
- Administration host: You must have a computer to prepare the ISO, to create the USB boot drive, and to monitor the installation. Note- For the - ppc64leplatform, the host should prepare the ISO, but does not need to create the USB boot drive. The ISO can be mounted to PowerVM directly.Note- ISO is not required for IBM Z® installations. 
- 
						CPU Architecture: Installing OpenShift Container Platform on a single node supports x86_64,arm64,ppc64le, ands390xCPU architectures.
- Supported platforms: Installing OpenShift Container Platform on a single node is supported on bare metal and Certified third-party hypervisors. In most cases, you must specify the - platform.none: {}parameter in the- install-config.yamlconfiguration file. The following list shows the only exceptions and the corresponding parameter to specify in the- install-config.yamlconfiguration file:- 
								Amazon Web Services (AWS), where you use platform=aws
- 
								Google Cloud, where you use platform=gcp
- 
								Microsoft Azure, where you use platform=azure
 
- 
								Amazon Web Services (AWS), where you use 
- Production-grade server: Installing OpenShift Container Platform on a single node requires a server with sufficient resources to run OpenShift Container Platform services and a production workload. - Expand - Table 1.1. Minimum resource requirements - Profile - Compute - Memory - Storage - Minimum - 8 vCPUs - 16 GB of RAM - 120 GB Note- One vCPU generally equals one physical core. However, if you enable simultaneous multithreading (SMT), or Hyper-Threading, each CPU thread counts as a vCPU. - Adding Operators during the installation process might increase the minimum resource requirements. - The server must have a Baseboard Management Controller (BMC) when booting with virtual media. Note- BMC is not supported on IBM Z® and IBM Power®. 
- Networking: The server must have access to the internet or access to a local registry if it is not connected to a routable network. The server must have a DHCP reservation or a static IP address for the Kubernetes API, ingress route, and cluster node domain names. You must configure the DNS to resolve the IP address to each of the following fully qualified domain names (FQDN): - Expand - Table 1.2. Required DNS records - Usage - FQDN - Description - Kubernetes API - api.<cluster_name>.<base_domain>- Add a DNS A/AAAA or CNAME record. This record must be resolvable by both clients external to the cluster and within the cluster. - Internal API - api-int.<cluster_name>.<base_domain>- Add a DNS A/AAAA or CNAME record when creating the ISO manually. This record must be resolvable by nodes within the cluster. - Ingress route - *.apps.<cluster_name>.<base_domain>- Add a wildcard DNS A/AAAA or CNAME record that targets the node. This record must be resolvable by both clients external to the cluster and within the cluster. Important- Without persistent IP addresses, communications between the - apiserverand- etcdmight fail.
Chapter 2. Installing OpenShift on a single node
			You can install single-node OpenShift by using either the web-based Assisted Installer or the coreos-installer tool to generate a discovery ISO image. The discovery ISO image writes the Red Hat Enterprise Linux CoreOS (RHCOS) system configuration to the target installation disk, so that you can run a single-cluster node to meet your needs.
		
Consider using single-node OpenShift when you want to run a cluster in a low-resource or an isolated environment for testing, troubleshooting, training, or small-scale project purposes.
2.1. Installing single-node OpenShift using the Assisted Installer
To install OpenShift Container Platform on a single node, use the web-based Assisted Installer wizard to guide you through the process and manage the installation.
See the Assisted Installer for OpenShift Container Platform documentation for details and configuration options.
2.1.1. Generating the discovery ISO with the Assisted Installer
Installing OpenShift Container Platform on a single node requires a discovery ISO, which the Assisted Installer can generate.
Procedure
- On the administration host, open a browser and navigate to Red Hat OpenShift Cluster Manager.
- Click Create New Cluster to create a new cluster.
- In the Cluster name field, enter a name for the cluster.
- In the Base domain field, enter a base domain. For example: - example.com - example.com- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - All DNS records must be subdomains of this base domain and include the cluster name, for example: - <cluster_name>.example.com - <cluster_name>.example.com- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Note- You cannot change the base domain or cluster name after cluster installation. 
- Select Install single node OpenShift (SNO) and complete the rest of the wizard steps. Download the discovery ISO.
- Complete the remaining Assisted Installer wizard steps. Important- Ensure that you take note of the discovery ISO URL for installing with virtual media. - If you enable OpenShift Virtualization during this process, you must have a second local storage device of at least 50GiB for your virtual machines. 
2.1.2. Installing single-node OpenShift with the Assisted Installer
Use the Assisted Installer to install the single-node cluster.
Prerequisites
- Ensure that the boot drive order in the server BIOS settings defaults to booting the server from the target installation disk.
Procedure
- Attach the discovery ISO image to the target host.
- Boot the server from the discovery ISO image. The discovery ISO image writes the system configuration to the target installation disk and automatically triggers a server restart.
- On the administration host, return to the browser. Wait for the host to appear in the list of discovered hosts. If necessary, reload the Assisted Clusters page and select the cluster name.
- Complete the install wizard steps. Add networking details, including a subnet from the available subnets. Add the SSH public key if necessary.
- Monitor the installation’s progress. Watch the cluster events. After the installation process finishes writing the operating system image to the server’s hard disk, the server restarts.
- Optional: Remove the discovery ISO image. - The server restarts several times automatically, deploying the control plane. 
2.2. Installing single-node OpenShift manually
				To install OpenShift Container Platform on a single node, first generate the installation ISO, and then boot the server from the ISO. You can monitor the installation using the openshift-install installation program.
			
2.2.1. Generating the installation ISO with coreos-installer
Installing OpenShift Container Platform on a single node requires an installation ISO, which you can generate with the following procedure.
Prerequisites
- 
							Install podman.
See "Requirements for installing OpenShift on a single node" for networking requirements, including DNS records.
Procedure
- Set the OpenShift Container Platform version: - export OCP_VERSION=<ocp_version> - $ export OCP_VERSION=<ocp_version>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Replace<ocp_version>with the current version, for example,latest-4.15
 
- Set the host architecture: - export ARCH=<architecture> - $ export ARCH=<architecture>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Replace<architecture>with the target host architecture, for example,aarch64orx86_64.
 
- Download the OpenShift Container Platform client ( - oc) and make it available for use by entering the following commands:- curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-client-linux.tar.gz -o oc.tar.gz - $ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-client-linux.tar.gz -o oc.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - tar zxf oc.tar.gz - $ tar zxf oc.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - chmod +x oc - $ chmod +x oc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Download the OpenShift Container Platform installer and make it available for use by entering the following commands: - curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz - $ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - tar zxvf openshift-install-linux.tar.gz - $ tar zxvf openshift-install-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - chmod +x openshift-install - $ chmod +x openshift-install- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Retrieve the RHCOS ISO URL by running the following command: - export ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep $ARCH | grep iso | cut -d\" -f4) - $ export ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep $ARCH | grep iso | cut -d\" -f4)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Download the RHCOS ISO: - curl -L $ISO_URL -o rhcos-live.iso - $ curl -L $ISO_URL -o rhcos-live.iso- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Prepare the - install-config.yamlfile:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Add the cluster domain name.
- 2
- Set thecomputereplicas to0. This makes the control plane node schedulable.
- 3
- Set thecontrolPlanereplicas to1. In conjunction with the previouscomputesetting, this setting ensures the cluster runs on a single node.
- 4
- Set themetadataname to the cluster name.
- 5
- Set thenetworkingdetails. OVN-Kubernetes is the only allowed network plugin type for single-node clusters.
- 6
- Set thecidrvalue to match the subnet of the single-node OpenShift cluster.
- 7
- Set the path to the installation disk drive, for example,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2.
- 8
- Copy the pull secret from Red Hat OpenShift Cluster Manager and add the contents to this configuration setting.
- 9
- Add the public SSH key from the administration host so that you can log in to the cluster after installation.
 
- Generate OpenShift Container Platform assets by running the following commands: - mkdir ocp - $ mkdir ocp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - cp install-config.yaml ocp - $ cp install-config.yaml ocp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ./openshift-install --dir=ocp create single-node-ignition-config - $ ./openshift-install --dir=ocp create single-node-ignition-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Embed the ignition data into the RHCOS ISO by running the following commands: - alias coreos-installer='podman run --privileged --pull always --rm \ -v /dev:/dev -v /run/udev:/run/udev -v $PWD:/data \ -w /data quay.io/coreos/coreos-installer:release'- $ alias coreos-installer='podman run --privileged --pull always --rm \ -v /dev:/dev -v /run/udev:/run/udev -v $PWD:/data \ -w /data quay.io/coreos/coreos-installer:release'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - coreos-installer iso ignition embed -fi ocp/bootstrap-in-place-for-live-iso.ign rhcos-live.iso - $ coreos-installer iso ignition embed -fi ocp/bootstrap-in-place-for-live-iso.ign rhcos-live.iso- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Important- The SSL certificates for the RHCOS ISO installation image are only valid for 24 hours. If you use the ISO image to install a node more than 24 hours after creating the image, the installation can fail. To re-create the image after 24 hours, delete the - ocpdirectory and re-create the OpenShift Container Platform assets.
2.2.2. Monitoring the cluster installation using openshift-install
					Use openshift-install to monitor the progress of the single-node cluster installation.
				
Prerequisites
- Ensure that the boot drive order in the server BIOS settings defaults to booting the server from the target installation disk.
Procedure
- Attach the discovery ISO image to the target host.
- Boot the server from the discovery ISO image. The discovery ISO image writes the system configuration to the target installation disk and automatically triggers a server restart.
- On the administration host, monitor the installation by running the following command: - ./openshift-install --dir=ocp wait-for install-complete - $ ./openshift-install --dir=ocp wait-for install-complete- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Optional: Remove the discovery ISO image. - The server restarts several times while deploying the control plane. 
Verification
- After the installation is complete, check the environment by running the following command: - export KUBECONFIG=ocp/auth/kubeconfig - $ export KUBECONFIG=ocp/auth/kubeconfig- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc get nodes - $ oc get nodes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - NAME STATUS ROLES AGE VERSION control-plane.example.com Ready master,worker 10m v1.28.5 - NAME STATUS ROLES AGE VERSION control-plane.example.com Ready master,worker 10m v1.28.5- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.3. Installing single-node OpenShift on cloud providers
2.3.1. Additional requirements for installing single-node OpenShift on a cloud provider
The documentation for installer-provisioned installation on cloud providers is based on a high availability cluster consisting of three control plane nodes. When referring to the documentation, consider the differences between the requirements for a single-node OpenShift cluster and a high availability cluster.
- A high availability cluster requires a temporary bootstrap machine, three control plane machines, and at least two compute machines. For a single-node OpenShift cluster, you need only a temporary bootstrap machine and one cloud instance for the control plane node and no compute nodes.
- The minimum resource requirements for high availability cluster installation include a control plane node with 4 vCPUs and 100GB of storage. For a single-node OpenShift cluster, you must have a minimum of 8 vCPUs and 120GB of storage.
- 
							The controlPlane.replicassetting in theinstall-config.yamlfile should be set to1.
- 
							The compute.replicassetting in theinstall-config.yamlfile should be set to0. This makes the control plane node schedulable.
2.3.2. Supported cloud providers for single-node OpenShift
The following table contains a list of supported cloud providers and CPU architectures.
| Cloud provider | CPU architecture | 
|---|---|
| Amazon Web Service (AWS) | x86_64 and AArch64 | 
| Microsoft Azure | x86_64 | 
| Google Cloud Platform (GCP) | x86_64 and AArch64 | 
2.3.3. Installing single-node OpenShift on AWS
Installing a single-node cluster on AWS requires installer-provisioned installation using the "Installing a cluster on AWS with customizations" procedure.
2.3.4. Installing single-node OpenShift on Azure
Installing a single node cluster on Azure requires installer-provisioned installation using the "Installing a cluster on Azure with customizations" procedure.
2.3.5. Installing single-node OpenShift on GCP
Installing a single node cluster on GCP requires installer-provisioned installation using the "Installing a cluster on GCP with customizations" procedure.
2.4. Creating a bootable ISO image on a USB drive
You can install software using a bootable USB drive that contains an ISO image. Booting the server with the USB drive prepares the server for the software installation.
Procedure
- On the administration host, insert a USB drive into a USB port.
- Create a bootable USB drive, for example: - dd if=<path_to_iso> of=<path_to_usb> status=progress - # dd if=<path_to_iso> of=<path_to_usb> status=progress- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - <path_to_iso>
- 
									is the relative path to the downloaded ISO file, for example, rhcos-live.iso.
- <path_to_usb>
- 
									is the location of the connected USB drive, for example, /dev/sdb.
 - After the ISO is copied to the USB drive, you can use the USB drive to install software on the server. 
2.5. Booting from an HTTP-hosted ISO image using the Redfish API
You can provision hosts in your network using ISOs that you install using the Redfish Baseboard Management Controller (BMC) API.
This example procedure demonstrates the steps on a Dell server.
Ensure that you have the latest firmware version of iDRAC that is compatible with your hardware. If you have any issues with the hardware or firmware, you must contact the provider.
Prerequisites
- Download the installation Red Hat Enterprise Linux CoreOS (RHCOS) ISO.
- Use a Dell PowerEdge server that is compatible with iDRAC9.
Procedure
- Copy the ISO file to an HTTP server accessible in your network.
- Boot the host from the hosted ISO file, for example: - Call the Redfish API to set the hosted ISO as the - VirtualMediaboot media by running the following command:- curl -k -u <bmc_username>:<bmc_password> -d '{"Image":"<hosted_iso_file>", "Inserted": true}' -H "Content-Type: application/json" -X POST <host_bmc_address>/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia- $ curl -k -u <bmc_username>:<bmc_password> -d '{"Image":"<hosted_iso_file>", "Inserted": true}' -H "Content-Type: application/json" -X POST <host_bmc_address>/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Where: - <bmc_username>:<bmc_password>
- Is the username and password for the target host BMC.
- <hosted_iso_file>
- 
											Is the URL for the hosted installation ISO, for example: http://webserver.example.com/rhcos-live-minimal.iso. The ISO must be accessible from the target host machine.
- <host_bmc_address>
- Is the BMC IP address of the target host machine.
 
- Set the host to boot from the - VirtualMediadevice by running the following command:- curl -k -u <bmc_username>:<bmc_password> -X PATCH -H 'Content-Type: application/json' -d '{"Boot": {"BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideEnabled": "Once"}}' <host_bmc_address>/redfish/v1/Systems/System.Embedded.1- $ curl -k -u <bmc_username>:<bmc_password> -X PATCH -H 'Content-Type: application/json' -d '{"Boot": {"BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideEnabled": "Once"}}' <host_bmc_address>/redfish/v1/Systems/System.Embedded.1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Reboot the host: - curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "ForceRestart"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset- $ curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "ForceRestart"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Optional: If the host is powered off, you can boot it using the - {"ResetType": "On"}switch. Run the following command:- curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "On"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset- $ curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "On"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
2.6. Creating a custom live RHCOS ISO for remote server access
In some cases, you cannot attach an external disk drive to a server, however, you need to access the server remotely to provision a node. It is recommended to enable SSH access to the server. You can create a live RHCOS ISO with SSHd enabled and with predefined credentials so that you can access the server after it boots.
Prerequisites
- 
						You installed the butaneutility.
Procedure
- 
						Download the coreos-installerbinary from thecoreos-installerimage mirror page.
- Download the latest live RHCOS ISO from mirror.openshift.com.
- Create the - embedded.yamlfile that the- butaneutility uses to create the Ignition file:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Thecoreuser has sudo privileges.
 
- Run the - butaneutility to create the Ignition file using the following command:- butane -pr embedded.yaml -o embedded.ign - $ butane -pr embedded.yaml -o embedded.ign- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- After the Ignition file is created, you can include the configuration in a new live RHCOS ISO, which is named - rhcos-sshd-4.15.0-x86_64-live.x86_64.iso, with the- coreos-installerutility:- coreos-installer iso ignition embed -i embedded.ign rhcos-4.15.0-x86_64-live.x86_64.iso -o rhcos-sshd-4.15.0-x86_64-live.x86_64.iso - $ coreos-installer iso ignition embed -i embedded.ign rhcos-4.15.0-x86_64-live.x86_64.iso -o rhcos-sshd-4.15.0-x86_64-live.x86_64.iso- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
Verification
- Check that the custom live ISO can be used to boot the server by running the following command: - coreos-installer iso ignition show rhcos-sshd-4.15.0-x86_64-live.x86_64.iso - # coreos-installer iso ignition show rhcos-sshd-4.15.0-x86_64-live.x86_64.iso- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.7. Installing single-node OpenShift with IBM Z and IBM LinuxONE
Installing a single-node cluster on IBM Z® and IBM® LinuxONE requires user-provisioned installation using either the "Installing a cluster with RHEL KVM on IBM Z® and IBM® LinuxONE" or the "Installing a cluster with z/VM on IBM Z® and IBM® LinuxONE" procedure.
Installing a single-node cluster on IBM Z® simplifies installation for development and test environments and requires less resource requirements at entry level.
2.7.1. Hardware requirements
- The equivalent of two Integrated Facilities for Linux (IFL), which are SMT2 enabled, for each cluster.
- 
							At least one network connection to both connect to the LoadBalancerservice and to serve data for traffic outside the cluster.
You can use dedicated or shared IFLs to assign sufficient compute resources. Resource sharing is one of the key strengths of IBM Z®. However, you must adjust capacity correctly on each hypervisor layer and ensure sufficient resources for every OpenShift Container Platform cluster.
2.7.2. Installing single-node OpenShift with z/VM on IBM Z and IBM LinuxONE
Prerequisites
- 
							You have installed podman.
Procedure
- Set the OpenShift Container Platform version by running the following command: - OCP_VERSION=<ocp_version> - $ OCP_VERSION=<ocp_version>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Replace<ocp_version>with the current version, for example,latest-4.15
 
- Set the host architecture by running the following command: - ARCH=<architecture> - $ ARCH=<architecture>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Replace<architecture>with the target host architectures390x.
 
- Download the OpenShift Container Platform client ( - oc) and make it available for use by entering the following commands:- curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz -o oc.tar.gz- $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz -o oc.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - tar zxf oc.tar.gz - $ tar zxf oc.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - chmod +x oc - $ chmod +x oc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Download the OpenShift Container Platform installer and make it available for use by entering the following commands: - curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz- $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - tar zxvf openshift-install-linux.tar.gz - $ tar zxvf openshift-install-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - chmod +x openshift-install - $ chmod +x openshift-install- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Prepare the - install-config.yamlfile:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Add the cluster domain name.
- 2
- Set thecomputereplicas to0. This makes the control plane node schedulable.
- 3
- Set thecontrolPlanereplicas to1. In conjunction with the previouscomputesetting, this setting ensures the cluster runs on a single node.
- 4
- Set themetadataname to the cluster name.
- 5
- Set thenetworkingdetails. OVN-Kubernetes is the only allowed network plugin type for single-node clusters.
- 6
- Set thecidrvalue to match the subnet of the single-node OpenShift cluster.
- 7
- Set the path to the installation disk drive, for example,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2.
- 8
- Copy the pull secret from Red Hat OpenShift Cluster Manager and add the contents to this configuration setting.
- 9
- Add the public SSH key from the administration host so that you can log in to the cluster after installation.
 
- Generate OpenShift Container Platform assets by running the following commands: - mkdir ocp - $ mkdir ocp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - cp install-config.yaml ocp - $ cp install-config.yaml ocp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ./openshift-install --dir=ocp create single-node-ignition-config - $ ./openshift-install --dir=ocp create single-node-ignition-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Obtain the RHEL - kernel,- initramfs, and- rootfsartifacts from the Product Downloads page on the Red Hat Customer Portal or from the RHCOS image mirror page.Important- The RHCOS images might not change with every release of OpenShift Container Platform. You must download images with the highest version that is less than or equal to the OpenShift Container Platform version that you install. Only use the appropriate - kernel,- initramfs, and- rootfsartifacts described in the following procedure.- The file names contain the OpenShift Container Platform version number. They resemble the following examples: - kernel
- 
										rhcos-<version>-live-kernel-<architecture>
- initramfs
- 
										rhcos-<version>-live-initramfs.<architecture>.img
- rootfs
- rhcos-<version>-live-rootfs.<architecture>.imgNote- The - rootfsimage is the same for FCP and DASD.
 
- Move the following artifacts and files to an HTTP or HTTPS server: - 
									Downloaded RHEL live kernel,initramfs, androotfsartifacts
- Ignition files
 
- 
									Downloaded RHEL live 
- Create parameter files for a particular virtual machine: - Example parameter file - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- For thecoreos.live.rootfs_url=artifact, specify the matchingrootfsartifact for thekernel`and `initramfsyou are booting. Only HTTP and HTTPS protocols are supported.
- 2
- For theignition.config.url=parameter, specify the Ignition file for the machine role. Only HTTP and HTTPS protocols are supported.
- 3
- For theip=parameter, assign the IP address automatically using DHCP or manually as described in "Installing a cluster with z/VM on IBM Z® and IBM® LinuxONE".
- 4
- For installations on DASD-type disks, userd.dasd=to specify the DASD where RHCOS is to be installed. Omit this entry for FCP-type disks.
- 5
- For installations on FCP-type disks, userd.zfcp=<adapter>,<wwpn>,<lun>to specify the FCP disk where RHCOS is to be installed. Omit this entry for DASD-type disks.
 - Leave all other parameters unchanged. 
- Transfer the following artifacts, files, and images to z/VM. For example by using FTP: - 
									kernelandinitramfsartifacts
- Parameter files
- RHCOS images - For details about how to transfer the files with FTP and boot from the virtual reader, see Installing under Z/VM. 
 
- 
									
- Punch the files to the virtual reader of the z/VM guest virtual machine that is to become your bootstrap node.
- Log in to CMS on the bootstrap machine.
- IPL the bootstrap machine from the reader by running the following command: - cp ipl c - $ cp ipl c- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- After the first reboot of the virtual machine, run the following commands directly after one another: - To boot a DASD device after first reboot, run the following commands: - cp i <devno> clear loadparm prompt - $ cp i <devno> clear loadparm prompt- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - <devno>
- Specifies the device number of the boot device as seen by the guest.
 - cp vi vmsg 0 <kernel_parameters> - $ cp vi vmsg 0 <kernel_parameters>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - <kernel_parameters>
- Specifies a set of kernel parameters to be stored as system control program data (SCPDATA). When booting Linux, these kernel parameters are concatenated to the end of the existing kernel parameters that are used by your boot configuration. The combined parameter string must not exceed 896 characters.
 
- To boot an FCP device after first reboot, run the following commands: - cp set loaddev portname <wwpn> lun <lun> - $ cp set loaddev portname <wwpn> lun <lun>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - <wwpn>
- 
												Specifies the target port and <lun>the logical unit in hexadecimal format.
 - cp set loaddev bootprog <n> - $ cp set loaddev bootprog <n>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - <n>
- Specifies the kernel to be booted.
 - cp set loaddev scpdata {APPEND|NEW} '<kernel_parameters>'- $ cp set loaddev scpdata {APPEND|NEW} '<kernel_parameters>'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - <kernel_parameters>
- Specifies a set of kernel parameters to be stored as system control program data (SCPDATA). When booting Linux, these kernel parameters are concatenated to the end of the existing kernel parameters that are used by your boot configuration. The combined parameter string must not exceed 896 characters.
- <APPEND|NEW>
- 
												Optional: Specify APPENDto append kernel parameters to existing SCPDATA. This is the default. SpecifyNEWto replace existing SCPDATA.
 - Example - cp set loaddev scpdata 'rd.zfcp=0.0.8001,0x500507630a0350a4,0x4000409D00000000 - $ cp set loaddev scpdata 'rd.zfcp=0.0.8001,0x500507630a0350a4,0x4000409D00000000 ip=encbdd0:dhcp::02:00:00:02:34:02 rd.neednet=1'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - To start the IPL and boot process, run the following command: - cp i <devno> - $ cp i <devno>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - <devno>
- Specifies the device number of the boot device as seen by the guest.
 
 
2.7.3. Installing single-node OpenShift with RHEL KVM on IBM Z and IBM LinuxONE
Prerequisites
- 
							You have installed podman.
Procedure
- Set the OpenShift Container Platform version by running the following command: - OCP_VERSION=<ocp_version> - $ OCP_VERSION=<ocp_version>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Replace<ocp_version>with the current version, for example,latest-4.15
 
- Set the host architecture by running the following command: - ARCH=<architecture> - $ ARCH=<architecture>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Replace<architecture>with the target host architectures390x.
 
- Download the OpenShift Container Platform client ( - oc) and make it available for use by entering the following commands:- curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz -o oc.tar.gz- $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz -o oc.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - tar zxf oc.tar.gz - $ tar zxf oc.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - chmod +x oc - $ chmod +x oc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Download the OpenShift Container Platform installer and make it available for use by entering the following commands: - curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz- $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - tar zxvf openshift-install-linux.tar.gz - $ tar zxvf openshift-install-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - chmod +x openshift-install - $ chmod +x openshift-install- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Prepare the - install-config.yamlfile:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Add the cluster domain name.
- 2
- Set thecomputereplicas to0. This makes the control plane node schedulable.
- 3
- Set thecontrolPlanereplicas to1. In conjunction with the previouscomputesetting, this setting ensures the cluster runs on a single node.
- 4
- Set themetadataname to the cluster name.
- 5
- Set thenetworkingdetails. OVN-Kubernetes is the only allowed network plugin type for single-node clusters.
- 6
- Set thecidrvalue to match the subnet of the single-node OpenShift cluster.
- 7
- Set the path to the installation disk drive, for example,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2.
- 8
- Copy the pull secret from Red Hat OpenShift Cluster Manager and add the contents to this configuration setting.
- 9
- Add the public SSH key from the administration host so that you can log in to the cluster after installation.
 
- Generate OpenShift Container Platform assets by running the following commands: - mkdir ocp - $ mkdir ocp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - cp install-config.yaml ocp - $ cp install-config.yaml ocp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ./openshift-install --dir=ocp create single-node-ignition-config - $ ./openshift-install --dir=ocp create single-node-ignition-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Obtain the RHEL - kernel,- initramfs, and- rootfsartifacts from the Product Downloads page on the Red Hat Customer Portal or from the RHCOS image mirror page.Important- The RHCOS images might not change with every release of OpenShift Container Platform. You must download images with the highest version that is less than or equal to the OpenShift Container Platform version that you install. Only use the appropriate - kernel,- initramfs, and- rootfsartifacts described in the following procedure.- The file names contain the OpenShift Container Platform version number. They resemble the following examples: - kernel
- 
										rhcos-<version>-live-kernel-<architecture>
- initramfs
- 
										rhcos-<version>-live-initramfs.<architecture>.img
- rootfs
- 
										rhcos-<version>-live-rootfs.<architecture>.img
 
- Before you launch - virt-install, move the following files and artifacts to an HTTP or HTTPS server:- 
									Downloaded RHEL live kernel,initramfs, androotfsartifacts
- Ignition files
 
- 
									Downloaded RHEL live 
- Create the KVM guest nodes by using the following components: - 
									RHEL kernelandinitramfsartifacts
- Ignition files
- The new disk image
- Adjusted parm line arguments
 
- 
									RHEL 
- 1
- For the--locationparameter, specify the location of the kernel/initrd on the HTTP or HTTPS server.
- 2
- For thecoreos.live.rootfs_url=artifact, specify the matchingrootfsartifact for thekernelandinitramfsyou are booting. Only HTTP and HTTPS protocols are supported.
- 3
- For theignition.config.url=parameter, specify the Ignition file for the machine role. Only HTTP and HTTPS protocols are supported.
2.8. Installing single-node OpenShift with IBM Power
Installing a single-node cluster on IBM Power® requires user-provisioned installation using the "Installing a cluster with IBM Power®" procedure.
Installing a single-node cluster on IBM Power® simplifies installation for development and test environments and requires less resource requirements at entry level.
2.8.1. Hardware requirements
- The equivalent of two Integrated Facilities for Linux (IFL), which are SMT2 enabled, for each cluster.
- 
							At least one network connection to connect to the LoadBalancerservice and to serve data for traffic outside of the cluster.
You can use dedicated or shared IFLs to assign sufficient compute resources. Resource sharing is one of the key strengths of IBM Power®. However, you must adjust capacity correctly on each hypervisor layer and ensure sufficient resources for every OpenShift Container Platform cluster.
2.8.2. Setting up bastion for single-node OpenShift with IBM Power
Prior to installing single-node OpenShift on IBM Power®, you must set up bastion. Setting up a bastion server for single-node OpenShift on IBM Power® requires the configuration of the following services:
- PXE is used for the single-node OpenShift cluster installation. PXE requires the following services to be configured and run: - DNS to define api, api-int, and *.apps
- DHCP service to enable PXE and assign an IP address to single-node OpenShift node
- HTTP to provide ignition and RHCOS rootfs image
- TFTP to enable PXE
 
- 
							You must install dnsmasqto support DNS, DHCP and PXE, httpd for HTTP.
Use the following procedure to configure a bastion server that meets these requirements.
Procedure
- Use the following command to install - grub2, which is required to enable PXE for PowerVM:- grub2-mknetdir --net-directory=/var/lib/tftpboot - grub2-mknetdir --net-directory=/var/lib/tftpboot- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example - /var/lib/tftpboot/boot/grub2/grub.cfgfile- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Use the following commands to download RHCOS image files from the mirror repo for PXE. - Enter the following command to assign the - RHCOS_URLvariable the follow 4.12 URL:- export RHCOS_URL=https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.12/latest/ - $ export RHCOS_URL=https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.12/latest/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to navigate to the - /var/lib/tftpboot/rhcosdirectory:- cd /var/lib/tftpboot/rhcos - $ cd /var/lib/tftpboot/rhcos- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to download the specified RHCOS kernel file from the URL stored in the - RHCOS_URLvariable:- wget ${RHCOS_URL}/rhcos-live-kernel-ppc64le -o kernel- $ wget ${RHCOS_URL}/rhcos-live-kernel-ppc64le -o kernel- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to download the RHCOS - initramfsfile from the URL stored in the- RHCOS_URLvariable:- wget ${RHCOS_URL}/rhcos-live-initramfs.ppc64le.img -o initramfs.img- $ wget ${RHCOS_URL}/rhcos-live-initramfs.ppc64le.img -o initramfs.img- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to navigate to the - /var//var/www/html/install/directory:- cd /var//var/www/html/install/ - $ cd /var//var/www/html/install/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to download, and save, the RHCOS - root filesystemimage file from the URL stored in the- RHCOS_URLvariable:- wget ${RHCOS_URL}/rhcos-live-rootfs.ppc64le.img -o rootfs.img- $ wget ${RHCOS_URL}/rhcos-live-rootfs.ppc64le.img -o rootfs.img- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- To create the ignition file for a single-node OpenShift cluster, you must create the - install-config.yamlfile.- Enter the following command to create the work directory that holds the file: - mkdir -p ~/sno-work - $ mkdir -p ~/sno-work- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to navigate to the - ~/sno-workdirectory:- cd ~/sno-work - $ cd ~/sno-work- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Use the following sample file can to create the required - install-config.yamlin the- ~/sno-workdirectory:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Add the cluster domain name.
- 2
- Set thecomputereplicas to0. This makes the control plane node schedulable.
- 3
- Set thecontrolPlanereplicas to1. In conjunction with the previouscomputesetting, this setting ensures that the cluster runs on a single node.
- 4
- Set themetadataname to the cluster name.
- 5
- Set thenetworkingdetails. OVN-Kubernetes is the only allowed network plugin type for single-node clusters.
- 6
- Set thecidrvalue to match the subnet of the single-node OpenShift cluster.
- 7
- Set the path to the installation disk drive, for example,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2.
- 8
- Copy the pull secret from Red Hat OpenShift Cluster Manager and add the contents to this configuration setting.
- 9
- Add the public SSH key from the administration host so that you can log in to the cluster after installation.
 
 
- Download the - openshift-installimage to create the ignition file and copy it to the- httpdirectory.- Enter the following command to download the - openshift-install-linux-4.12.0.tar file:- wget https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.12.0/openshift-install-linux-4.12.0.tar.gz - $ wget https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.12.0/openshift-install-linux-4.12.0.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to unpack the - openshift-install-linux-4.12.0.tar.gzarchive:- tar xzvf openshift-install-linux-4.12.0.tar.gz - $ tar xzvf openshift-install-linux-4.12.0.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to - ./openshift-install --dir=~/sno-work create create single-node-ignition-config - $ ./openshift-install --dir=~/sno-work create create single-node-ignition-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to create the ignition file: - cp ~/sno-work/single-node-ignition-config.ign /var/www/html/ignition/sno.ign - $ cp ~/sno-work/single-node-ignition-config.ign /var/www/html/ignition/sno.ign- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the following command to restore SELinux file for the - /var/www/htmldirectory:- restorecon -vR /var/www/html || true - $ restorecon -vR /var/www/html || true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Bastion now has all the required files and is properly configured in order to install single-node OpenShift. 
 
2.8.3. Installing single-node OpenShift with IBM Power
Prerequisites
- You have set up bastion.
Procedure
There are two steps for the single-node OpenShift cluster installation. First the single-node OpenShift logical partition (LPAR) needs to boot up with PXE, then you need to monitor the installation progress.
- Use the following command to boot powerVM with netboot: - lpar_netboot -i -D -f -t ent -m <sno_mac> -s auto -d auto -S <server_ip> -C <sno_ip> -G <gateway> <lpar_name> default_profile <cec_name> - $ lpar_netboot -i -D -f -t ent -m <sno_mac> -s auto -d auto -S <server_ip> -C <sno_ip> -G <gateway> <lpar_name> default_profile <cec_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - where: - sno_mac
- Specifies the MAC address of the single-node OpenShift cluster.
- sno_ip
- Specifies the IP address of the single-node OpenShift cluster.
- server_ip
- Specifies the IP address of bastion (PXE server).
- gateway
- Specifies the Network’s gateway IP.
- lpar_name
- Specifies the single-node OpenShift lpar name in HMC.
- cec_name
- Specifies the System name where the sno_lpar resides
 
- After the single-node OpenShift LPAR boots up with PXE, use the - openshift-installcommand to monitor the progress of installation:- Run the following command after the bootstrap is complete: - ./openshift-install wait-for bootstrap-complete - ./openshift-install wait-for bootstrap-complete- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Run the following command after it returns successfully: - ./openshift-install wait-for install-complete - ./openshift-install wait-for install-complete- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
        Legal Notice
        
          
            
          
        
      
 
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.