Create RHCOS machines by PXE or iPXE booting
To scale your Red Hat OpenShift Container Platform bare metal cluster, you can create more Red Hat Enterprise Linux CoreOS (RHCOS) compute machines by using PXE or iPXE booting.
-
You have obtained the URL of the Ignition config file for the compute machines for your cluster. You uploaded this file to your HTTP server during installation.
-
You have obtained the URLs of the RHCOS ISO image, compressed metal BIOS,
kernel, andinitramfsfiles that you uploaded to your HTTP server during cluster installation. -
You have access to the PXE booting infrastructure that you used to create the machines for your Red Hat OpenShift Container Platform cluster during installation. The machines must boot from their local disks after RHCOS is installed on them.
-
If you use UEFI, you have access to the
grub.conffile that you modified during Red Hat OpenShift Container Platform installation.
-
Confirm that your PXE or iPXE installation for the RHCOS images is correct.
-
For PXE:
DEFAULT pxeboot TIMEOUT 20 PROMPT 0 LABEL pxeboot KERNEL http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> APPEND initrd=http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/worker.ign coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.imgwhere:
KERNEL-
Specifies the location of the live
kernelfile that you uploaded to your HTTP server. APPEND-
Specifies the locations of the RHCOS files that you uploaded to your HTTP server:
initrd-
Specifies the location of the live
initramfsfile. coreos.inst.ignition_url-
Specifies the location of the worker Ignition config file. This parameter supports only HTTP and HTTPS.
coreos.live.rootfs_url-
Specifies the location of the live
rootfsfile. This parameter supports only HTTP and HTTPS.This configuration does not enable serial console access on machines with a graphical console. To configure a different console, add one or more
console=arguments to theAPPENDline. For example, addconsole=tty0 console=ttyS0to set the first PC serial port as the primary console and the graphical console as a secondary console. For more information on setting up a serial terminal and/or console in RHCOS, see "How does one set up a serial terminal and/or console in Red Hat Enterprise Linux?".
-
For iPXE (
x86_64+aarch64):kernel http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> initrd=main coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/worker.ign initrd --name main http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img boot
where:
kernel-
Specifies the location of the
kernelfile that you uploaded to your HTTP server. initrd=main-
Specifies an argument that is required for booting on UEFI systems.
coreos.live.rootfs_url-
Specifies the location of the
rootfsfile that you uploaded to your HTTP server. coreos.inst.ignition_url-
Specifies the location of the worker Ignition config file that you uploaded to your HTTP server.
initrd --name main-
Specifies the location of the
initramfsfile that you uploaded to your HTTP server.-
If you use multiple NICs, specify a single interface in the
ipoption. For example, to use DHCP on a NIC namedeno1, setip=eno1:dhcp. -
This configuration does not enable serial console access on machines with a graphical console. To configure a different console, add one or more
console=arguments to thekernelline. For example, addconsole=tty0 console=ttyS0to set the first PC serial port as the primary console and the graphical console as a secondary console. For more information on setting up a serial terminal and/or console in RHCOS, see "How does one set up a serial terminal and/or console in Red Hat Enterprise Linux?" in the Additional resources section and "Enabling the serial console for PXE and ISO installation" in the "Advanced RHCOS installation configuration" section.
To network boot the CoreOS
kernelonaarch64architecture, you need to use a version of iPXE build with theIMAGE_GZIPoption enabled. For more information, see "IMAGE_GZIP option in iPXE". -
-
For PXE (with UEFI and GRUB as second stage) on
aarch64:menuentry 'Install CoreOS' { linux rhcos-<version>-live-kernel-<architecture> coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/worker.ign initrd rhcos-<version>-live-initramfs.<architecture>.img }where:
linux-
Specifies the location of the live
kernelfile on your TFTP server. coreos.live.rootfs_url-
Specifies the location of the live
rootfsfile. coreos.inst.ignition_url-
Specifies the location of the worker Ignition config file.
initrd-
Specifies the location of the live
initramfsfile on your TFTP server.If you use multiple NICs, specify a single interface in the
ipoption. For example, to use DHCP on a NIC namedeno1, setip=eno1:dhcp.
-
-
Use the PXE or iPXE infrastructure to create the required compute machines for your cluster.