8.2.8.2. 通过 PXE 或 iPXE 启动来创建 Red Hat Enterprise Linux CoreOS (RHCOS) 机器
在安装使用手动置备 RHCOS 节点(如裸机)的集群前,您必须创建 RHCOS 机器供其使用。您可以使用 PXE 或 iPXE 启动来创建机器。
先决条件
- 获取集群的 Ignition 配置文件。
- 配置合适的 PXE 或 iPXE 基础架构。
- 具有 HTTP 服务器的访问权限,以便您可从计算机进行访问。
流程
将安装程序创建的 master、worker 和 bootstrap Ignition 配置文件上传到 HTTP 服务器。记下这些文件的 URL。
重要您可以在 Ignition 配置中添加或更改配置设置,然后将其保存到 HTTP 服务器。如果您计划在安装完成后在集群中添加更多计算机器,请不要删除这些文件。
从 RHCOS 镜像 镜像页面获取 RHCOS
内核
、initram
fs 和 rootfs
文件。重要RHCOS 工件(artifact)可能不会随着 OpenShift Container Platform 的每个发行版本而改变。您必须下载最高版本的工件,其版本号应小于或等于您安装的 OpenShift Container Platform 版本。这个过程只使用下面描述的正确
kernel
、initramfs
和rootfs
工件。此安装类型不支持 RHCOS qcow2 镜像。文件名包含 OpenShift Container Platform 版本号。它们类似以下示例:
-
kernel
:rhcos-<version>-live-kernel-<architecture>
-
initramfs
:rhcos-<version>-live-initramfs.<architecture>.img
-
rootfs
:rhcos-<version>-live-rootfs.<architecture>.img
-
上传引导方法所需的额外文件:
-
对于传统的 PXE,将
kernel
和initramfs
文件上传到 TFTP 服务器,并将rootfs
文件上传到 HTTP 服务器。 对于 iPXE,将
kernel
、initram
fs 和rootfs
文件上传到 HTTP 服务器。重要如果您计划在安装完成后在集群中添加更多计算机器,请不要删除这些文件。
-
对于传统的 PXE,将
- 配置网络启动基础架构,以便在安装 RHCOS 后机器可从本地磁盘启动。
为 RHCOS 镜像配置 PXE 或 iPXE 安装。
针对您的环境修改以下示例菜单条目之一,并验证能否正确访问镜像和 Ignition 文件:
对于 PXE:
DEFAULT pxeboot TIMEOUT 20 PROMPT 0 LABEL pxeboot KERNEL http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> 1 APPEND initrd=http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img 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>/bootstrap.ign 2 3
- 1
- 指定上传到 HTTP 服务器的 live
kernel
文件位置。URL 必须是 HTTP、TFTP 或者 FTP ; 不支持 HTTPS 和 NFS。 - 2
- 如果您使用多个 NIC,请在
ip
选项中指定一个接口。例如,要在名为eno1
的 NIC 上使用 DHCP,请设置ip=eno1:dhcp
。 - 3
- 指定上传到 HTTP 服务器的 RHCOS 文件的位置。
initrd
参数值是initramfs
文件的位置,coreos.live.rootfs_url
参数值是rootfs
文件的位置,coreos.inst.ignition_url
参数值是 bootstrap Ignition 配置文件的位置。您还可以在APPEND
行中添加更多内核参数来配置联网或其他引导选项。
注意这个配置不会在使用图形控制台的机器上启用串口控制台访问。要配置不同的控制台,请在
APPEND
行中添加一个或多个console=
参数。例如,添加console=tty0 console=ttyS0
将第一个 PC 串口设置为主控制台,图形控制台作为二级控制台。如需更多信息,请参阅如何在 Red Hat Enterprise Linux 中设置串行终端和(或)控制台?对于 iPXE:
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>/bootstrap.ign 1 2 initrd --name main http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img 3 boot
注意这个配置不会在使用图形控制台的机器上启用串口控制台访问。要配置不同的控制台,请在
kerne
行中添加一个或多个console=
参数。例如,添加console=tty0 console=ttyS0
将第一个 PC 串口设置为主控制台,图形控制台作为二级控制台。如需更多信息,请参阅如何在 Red Hat Enterprise Linux 中设置串行终端和(或)控制台?
如果使用 PXE UEFI,请执行以下操作:
提供引导系统所需的
shim
文件。x64.efi
和 grubx64.efi
EFI 二进制文件以及 grub.cfg通过将 RHCOS ISO 挂载到主机,然后将
images/efiboot.img
文件挂载到您的主机来提取所需的 EFI 二进制文件:$ mkdir -p /mnt/iso
$ mkdir -p /mnt/efiboot
$ mount -o loop rhcos-installer.x86_64.iso /mnt/iso
$ mount -o loop,ro /mnt/iso/images/efiboot.img /mnt/efiboot
从
efiboot.img
挂载点,将EFI/redhat/shimx64.efi
和EFI/redhat/grubx64.efi
文件复制到 TFTP 服务器中:$ cp /mnt/efiboot/EFI/redhat/shimx64.efi .
$ cp /mnt/efiboot/EFI/redhat/grubx64.efi .
$ umount /mnt/efiboot
$ umount /mnt/iso
-
将 RHCOS ISO 中包含的
EFI/redhat/grub.cfg
文件复制到您的 TFTP 服务器中。
编辑
grub.cfg
文件使其包含类似如下的参数:menuentry 'Install Red Hat Enterprise Linux CoreOS' --class fedora --class gnu-linux --class gnu --class os { linuxefi rhcos-<version>-live-kernel-<architecture> coreos.inst.install_dev=/dev/sda coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign initrdefi rhcos-<version>-live-initramfs.<architecture>.img }
其中:
rhcos-<version>-live-kernel-<architecture>
-
指定上传到 TFTP 服务器的
内核
文件。 http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img
- 指定上传到 HTTP 服务器的 live rootfs 镜像的位置。
http://<HTTP_server>/bootstrap.ign
- 指定上传到 HTTP 服务器的 bootstrap Ignition 配置文件的位置。
rhcos-<version>-live-initramfs.<architecture>.img
-
指定上传到 TFTP 服务器的
initramfs
文件的位置。
注意有关如何为 UEFI 引导配置 PXE 服务器的更多信息,请参阅红帽知识库文章: 如何为 Red Hat Enterprise Linux 的 UEFI 引导配置/设置 PXE 服务器?
继续为集群创建机器。
重要此刻您必须创建 bootstrap 和 control plane 机器。如果 control plane 机器不可调度(这是默认调度),则在安装集群前至少会创建两台计算机器。