Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
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
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 Link kopierenLink in die Zwischenablage kopiert!
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.
2.1.1. Generating the discovery ISO with the Assisted Installer Link kopierenLink in die Zwischenablage kopiert!
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.comAll DNS records must be subdomains of this base domain and include the cluster name, for example:
<cluster_name>.example.comNoteYou 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.
ImportantEnsure 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 Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
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
2.2.1. Generating the installation ISO with coreos-installer Link kopierenLink in die Zwischenablage kopiert!
Installing OpenShift Container Platform on a single node requires an installation ISO, which you can generate with the following procedure.
Prerequisites
-
Install .
podman
Procedure
Set the OpenShift Container Platform version:
$ export OCP_VERSION=<ocp_version>1 - 1
- Replace
<ocp_version>with the current version, for example,latest-4.12
Set the host architecture:
$ export ARCH=<architecture>1 - 1
- Replace
<architecture>with the target host architecture, for example,aarch64orx86_64.
Download the OpenShift Container Platform client (
) and make it available for use by entering the following commands:oc$ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-client-linux.tar.gz -o oc.tar.gz$ tar zxf oc.tar.gz$ chmod +x ocDownload 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$ tar zxvf openshift-install-linux.tar.gz$ chmod +x openshift-installRetrieve 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)Download the RHCOS ISO:
$ curl -L $ISO_URL -o rhcos-live.isoPrepare the
file:install-config.yamlapiVersion: v1 baseDomain: <domain>1 compute: - architecture: amd642 name: worker replicas: 03 controlPlane: architecture: amd64 name: master replicas: 14 metadata: name: <name>5 networking:6 clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/167 networkType: OVNKubernetes serviceNetwork: - 172.30.0.0/16 platform: none: {} bootstrapInPlace: installationDisk: /dev/disk/by-id/<disk_id>8 pullSecret: '<pull_secret>'9 sshKey: | <ssh_key>10 - 1
- Add the cluster domain name.
- 2
- Set the architecture to
arm64for 64-bit ARM oramd64for 64-bit x86 architectures. This needs to be set explicitly to the target host architecture. - 3
- Set the
computereplicas to0. This makes the control plane node schedulable. - 4
- Set the
controlPlanereplicas to1. In conjunction with the previouscomputesetting, this setting ensures the cluster runs on a single node. - 5
- Set the
metadataname to the cluster name. - 6
- Set the
networkingdetails. OVN-Kubernetes is the only allowed network plugin type for single-node clusters. - 7
- Set the
cidrvalue to match the subnet of the single-node OpenShift cluster. - 8
- Set the path to the installation disk drive, for example,
/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2. - 9
- Copy the pull secret from the Red Hat OpenShift Cluster Manager 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 OpenShift Container Platform assets by running the following commands:
$ mkdir ocp$ cp install-config.yaml ocp$ ./openshift-install --dir=ocp create single-node-ignition-configEmbed 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'$ coreos-installer iso ignition embed -fi ocp/bootstrap-in-place-for-live-iso.ign rhcos-live.iso
2.2.2. Monitoring the cluster installation using openshift-install Link kopierenLink in die Zwischenablage kopiert!
Use
openshift-install
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-completeThe 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$ oc get nodesExample output
NAME STATUS ROLES AGE VERSION control-plane.example.com Ready master,worker 10m v1.25.0
2.3. Creating a bootable ISO image on a USB drive Link kopierenLink in die Zwischenablage kopiert!
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=progresswhere:
- <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.4. Booting from an HTTP-hosted ISO image using the Redfish API Link kopierenLink in die Zwischenablage kopiert!
You can provision hosts in your network using ISOs that you install using the Redfish Baseboard Management Controller (BMC) API.
Prerequisites
- Download the installation Red Hat Enterprise Linux CoreOS (RHCOS) ISO.
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
boot media by running the following command:VirtualMedia$ 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.InsertMediaWhere:
- <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
device by running the following command:VirtualMedia$ 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.1Reboot 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.ResetOptional: If the host is powered off, you can boot it using the
switch. Run the following command:{"ResetType": "On"}$ 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
2.5. Creating a custom live RHCOS ISO for remote server access Link kopierenLink in die Zwischenablage kopiert!
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 utility.
butane
Procedure
-
Download the binary from the
coreos-installerimage mirror page.coreos-installer - Download the latest live RHCOS ISO from mirror.openshift.com.
Create the
file that theembedded.yamlutility uses to create the Ignition file:butanevariant: openshift version: 4.12.0 metadata: name: sshd labels: machineconfiguration.openshift.io/role: worker passwd: users: - name: core1 ssh_authorized_keys: - '<ssh_key>'- 1
- The
coreuser has sudo privileges.
Run the
utility to create the Ignition file using the following command:butane$ butane -pr embedded.yaml -o embedded.ignAfter the Ignition file is created, you can include the configuration in a new live RHCOS ISO, which is named
, with therhcos-sshd-4.12.0-x86_64-live.x86_64.isoutility:coreos-installer$ coreos-installer iso ignition embed -i embedded.ign rhcos-4.12.0-x86_64-live.x86_64.iso -o rhcos-sshd-4.12.0-x86_64-live.x86_64.iso
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.12.0-x86_64-live.x86_64.isoExample output
{ "ignition": { "version": "3.2.0" }, "passwd": { "users": [ { "name": "core", "sshAuthorizedKeys": [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZnG8AIzlDAhpyENpK2qKiTT8EbRWOrz7NXjRzopbPu215mocaJgjjwJjh1cYhgPhpAp6M/ttTk7I4OI7g4588Apx4bwJep6oWTU35LkY8ZxkGVPAJL8kVlTdKQviDv3XX12l4QfnDom4tm4gVbRH0gNT1wzhnLP+LKYm2Ohr9D7p9NBnAdro6k++XWgkDeijLRUTwdEyWunIdW1f8G0Mg8Y1Xzr13BUo3+8aey7HLKJMDtobkz/C8ESYA/f7HJc5FxF0XbapWWovSSDJrr9OmlL9f4TfE+cQk3s+eoKiz2bgNPRgEEwihVbGsCN4grA+RzLCAOpec+2dTJrQvFqsD alosadag@sonnelicht.local" ] } ] } }