Installing OpenShift on a single node
Generating the discovery ISO manually
Installing OKD on a single node requires a discovery ISO, which you can generate with the following procedure.
Procedure
Download the OKD client (
oc
) and make it available for use by entering the following command:$ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz > oc.tar.gz
$ tar zxf oc.tar.gz
$ chmod +x oc
Set the OKD version:
$ OCP_VERSION=<ocp_version> (1)
1 Replace <ocp_version>
with the current version. For example.latest-4.10
Download the OKD 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 > openshift-install-linux.tar.gz
$ tar zxvf openshift-install-linux.tar.gz
$ chmod +x openshift-install
Retrieve the FCOS ISO URL:
$ ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep x86_64 | grep iso | cut -d\" -f4)
Download the FCOS ISO:
$ curl $ISO_URL > rhcos-live.x86_64.iso
Prepare the
install-config.yaml
file:apiVersion: v1
baseDomain: <domain> (1)
compute:
- name: worker
replicas: 0 (2)
controlPlane:
name: master
replicas: 1 (3)
metadata:
name: <name> (4)
networking:
networkType: OVNKubernetes
clusterNetwork:
- cidr: <IP_address>/<prefix> (5)
hostPrefix: <prefix> (6)
serviceNetwork:
- <IP_address>/<prefix> (7)
platform:
none: {}
bootstrapInPlace:
installationDisk: <path_to_install_drive> (8)
pullSecret: '<pull_secret>' (9)
sshKey: |
<ssh_key> (10)
1 Add the cluster domain name. 2 Set the compute
replicas to0
. This makes the control plane node schedulable.3 Set the controlPlane
replicas to1
. In conjunction with the previouscompute
setting, this setting ensures the cluster runs on a single node.4 Set the metadata
name to the cluster name.5 Set the clusterNetwork
CIDR.6 Set the clusterNetwork
host prefix. Pods receive their IP addresses from this pool.7 Set the serviceNetwork
CIDR. Services receive their IP addresses from this pool.8 Set the path to the installation disk drive. 9 Copy the pull secret from the Red Hat OpenShift Cluster Manager. In step 1, click Download pull secret and add the contents to this configuration setting. 10 Add the public SSH key from the administration host so that you can log in to the cluster after installation. Generate OKD assets:
$ mkdir ocp
$ cp install-config.yaml ocp
$ ./openshift-install --dir=ocp create single-node-ignition-config
Embed the ignition data into the FCOS ISO:
$ alias coreos-installer='podman run --privileged --rm \
-v /dev:/dev -v /run/udev:/run/udev -v $PWD:/data \
-w /data quay.io/coreos/coreos-installer:release'
$ cp ocp/bootstrap-in-place-for-live-iso.ign iso.ign
$ coreos-installer iso ignition embed -fi iso.ign rhcos-live.x86_64.iso
Installing with USB media
Installing with USB media involves creating a bootable USB drive with the discovery ISO on the administration node. Booting the server with the USB drive prepares the node for a single node installation.
Procedure
On the administration node, insert a USB drive into a USB port.
Create a bootable USB drive:
# dd if=<path-to-iso> of=<path/to/usb> status=progress
For example:
# dd if=discovery_image_sno.iso of=/dev/sdb status=progress
After the ISO is copied to the USB drive, you can use the USB drive to install OKD.
On the server, insert the USB drive into a USB port.
Reboot the server and enter the BIOS settings upon reboot.
Change boot drive order to make the USB drive boot first.
Save and exit the BIOS settings. The server will boot with the discovery image.
Monitoring the installation manually
If you created the ISO manually, use this procedure to monitor the installation.
Procedure
Monitor the installation:
$ ./openshift-install --dir=ocp wait-for install-complete
The server will restart several times while deploying the control plane.
Optional: After the installation is complete, check the environment:
$ export KUBECONFIG=ocp/auth/kubeconfig
$ oc get nodes
$ oc get clusterversion