7.3.11.3.4. 高级 RHCOS 安装参考

本节演示了网络配置和其他高级选项,允许您修改 Red Hat Enterprise Linux CoreOS(RHCOS)手动安装过程。下表描述了您可以与 RHCOS live installer 和 coreos-installer 命令一起使用的内核参数和命令行选项。

RHCOS 启动提示下的路由和绑定选项

如果从 ISO 镜像安装 RHCOS,您可以在引导该镜像时手动添加内核参数以配置节点的网络。如果没有使用网络参数,则安装默认为使用 DHCP。

重要

添加网络参数时,还必须添加 rd.neednet=1 内核参数。

下表描述了如何为实时 ISO 安装使用 ip=nameserver=bond= 内核参数。

注意

在添加内核参数时顺序非常重要: ip=nameserver=,然后 bond=

ISO 的路由和绑定选项

下表提供了配置 Red Hat Enterprise Linux CoreOS(RHCOS)节点网络的示例。这些是在系统引导过程中传递给 dracut 工具的网络选项。有关 dracut 支持的网络选项的详情,请参考 dracut.cmdline 手册页。

描述例子

要配置一个 IP 地址,可以使用 DHCP(ip=dhcp)或者设置单独的静态 IP 地址(ip=<host_ip>)。然后在每个节点上指定 DNS 服务器 IP 地址(nameserver=<dns_ip>)。这个示例设置:

  • 节点的 IP 地址为 10.10.10.2
  • 网关地址为 10.10.10.254
  • 子网掩码为 255.255.255.0
  • 主机名为 core0.example.com
  • DNS 服务器地址为 4.4.4.41
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
nameserver=4.4.4.41

通过指定多个 ip= 条目来指定多个网络接口。

ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=10.10.10.3::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none

在单一接口中禁用 DHCP,比如当有两个或者多个网络接口时,且只有一个接口被使用。

ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=::::core0.example.com:enp2s0:none

您可以将系统中 DHCP 和静态 IP 配置与多个网络接口结合在一起。

ip=enp1s0:dhcp
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none

可选: 您可以使用 vlan= 参数在单独的接口上配置 VLAN。

在网络接口中配置 VLAN 并使用静态 IP 地址:

ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0.100:none
vlan=enp2s0.100:enp2s0

在网络接口中配置 VLAN 并使用 DHCP:

ip=enp2s0.100:dhcp
vlan=enp2s0.100:enp2s0

您可以为每个服务器添加一个 nameserver= 条目来提供多个 DNS 服务器。

nameserver=1.1.1.1
nameserver=8.8.8.8

可选:使用 bond= 选项支持将多个网络接口绑定到一个接口。在这两个示例中:

  • 配置绑定接口的语法为: bond=name[:network_interfaces][:options]
  • name 是绑定设备名称(bond0),network_interfaces 代表用逗号分开的物理(以太网)接口(em1,em2)的列表,options 是用逗号分开的绑定选项列表。输入 modinfo bonding 查看可用选项。
  • 当使用 bond= 创建绑定接口时,您必须指定如何分配 IP 地址以及绑定接口的其他信息。

要将绑定的接口配置为使用 DHCP,请将绑定的 IP 地址设置为 dhcp。例如:

bond=bond0:em1,em2:mode=active-backup
ip=bond0:dhcp

要将绑定接口配置为使用静态 IP 地址,请输入您需要的特定 IP 地址以及相关信息。例如:

bond=bond0:em1,em2:mode=active-backup
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none

可选: 您可以使用 vlan= 参数在绑定接口上配置 VLAN。

使用 VLAN 配置绑定接口并使用 DHCP:

ip=bond0.100:dhcp
bond=bond0:em1,em2:mode=active-backup
vlan=bond0.100:bond0

使用 VLAN 配置绑定接口,并使用静态 IP 地址:

ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0.100:none
bond=bond0:em1,em2:mode=active-backup
vlan=bond0.100:bond0
coreos.inst 引导选项用于 ISO 或 PXE 安装

虽然您可以将大多数标准安装引导参数传递给 live 安装程序,但也有一些特定于 RHCOS live 安装程序的参数。

  • 对于 ISO,可以通过中断 RHCOS 安装程序来添加这些选项。
  • 对于 PXE 或 iPXE,这些选项必须在启动 PXE 内核前添加到 APPEND 行中。您无法中断实时 PXE 安装。

下表显示了用于 ISO 和 PXE 安装的 RHCOS live installer 引导选项。

表 7.40. coreos.inst 引导选项

参数描述

coreos.inst.install_dev

必需。要安装的系统中的块设备。虽然可以使用 sda 这样的相对路径,但建议使用完整路径,如 /dev/sda

coreos.inst.ignition_url

可选:嵌入到已安装系统中的 Ignition 配置的 UR如果没有指定 URL,则不会嵌入 Ignition 配置。

coreos.inst.save_partlabel

可选:在安装过程中要保留的分区压缩标签。允许使用 glob 风格的通配符。指定分区不需要存在。

coreos.inst.save_partindex

可选:在安装过程中完成要保留的分区的分离索引。可以使用 m-n 指定范围,mn 可以被省略。指定分区不需要存在。

coreos.inst.insecure

可选:将 coreos.inst.image_url 指定的 OS 镜像提交取消签名。

coreos.inst.image_url

可选:下载并安装指定的 RHCOS 镜像。

  • 这个参数不应该在生产环境中使用,而是只用于调试目的。
  • 虽然在 RHCOS 的安装版本与 live 介质的版本不匹配时可以使用这个参数,但建议使用与您要安装版本匹配的介质。
  • 如果您使用的是 coreos.inst.image_url。还必须使用 coreos.inst.insecure。这是因为,裸机介质没有为 OpenShift Container Platform 进行 GPG 签名。
  • 只支持 HTTP 和 HTTPS 协议。

coreos.inst.skip_reboot

可选:安装后该系统不会重启。安装完成后,您会收到提示,提示您检查在安装过程中发生的情况。这个参数不应该在生产环境中使用,而是只用于调试目的。

coreos.inst.platform_id

可选:安装 RHCOS 镜像的平台的 Ignition 平台 ID。默认为 metal。这个选项决定是否从云供应商(如 VMware)请求 Ignition 配置。例如: coreos.inst.platform_id=vmware

ignition.config.url

可选:用于实时启动的 Ignition 配置的 URL。例如,它可以用来定制调用 coreos-installer 的方式,或者用来在安装前或安装后运行代码。这与 coreos.inst.ignition_url (这是已安装系统的 Ignition 配置)不同。

ISO 安装的 coreos-installer 选项

您还可以直接从命令行调用 coreos-installer 命令来安装 RHCOS。上表中的内核参数提供了在引导时自动调用 coreos-installer 的快捷方式,但您可以在 shell 提示符运行时将类似的参数直接传递给 coreos-installer

下表显示了您可以在实时安装过程中从 shell 提示符传递给 coreos-installer 命令的选项和子命令。

表 7.41. CoreOS-installer 命令行选项、参数和子命令

命令行选项

选项

描述

-u, --image-url <url>

手动指定镜像 URL。

-f, --image-file <path>

手动指定本地镜像文件。

-i, --ignition-file <path>

从文件中嵌入 Ignition 配置。

-I, --ignition-url <URL>

从 URL 嵌入 Ignition 配置。

--ignition-hash <digest>

Ignition config 的 type-value 的文摘值。

-p, --platform <name>

覆盖 Ignition 平台 ID。

--append-karg <arg>…​

附加默认内核参数。

--delete-karg <arg>…​

删除默认内核参数。

-n, --copy-network

从安装环境中复制网络配置。

+

重要

copy-network 选项只复制 /etc/NetworkManager/system-connections 下的网络配置。特别是,它不会复制系统主机名。

--network-dir <path>

使用 -n。默认为 /etc/NetworkManager/system-connections/

--save-partlabel <lx>..

使用这个标签 glob 保存分区。

--save-partindex <id>…​

使用这个数值或者范围保存分区。

--offline

强制离线安装。

--insecure

跳过签名验证。

--insecure-ignition

允许没有 HTTPS 或 hash 的 Ignition URL。

--architecture <name>

目标 CPU 架构。默认为 x86_64

--preserve-on-error

出现错误时不清除分区表。

-h--help

打印帮助信息。

命令行参数

参数

描述

<device>

目的设备。

CoreOS-installer 嵌入的 Ignition 命令

命令

描述

$ coreos-installer iso ignition embed <options> --ignition-file <file_path> <ISO_image>

在 ISO 镜像中嵌入 Ignition 配置。

coreos-installer iso ignition show <options> <ISO_image>

显示来自 ISO 镜像的内嵌 Ignition 配置。

coreos-installer iso ignition remove <options> <ISO_image>

从 ISO 镜像中删除嵌入的 Ignition 配置。

coreos-installer ISO Ignition 选项

选项

描述

-f, --force

覆盖现有的 Ignition 配置。

-i, --ignition-file <path>

要使用的 Ignition 配置。默认为 stdin

-o, --output <path>

将 ISO 写入到一个新输出文件。

-h--help

打印帮助信息。

coreos-installer PXE Ignition 命令

命令

描述

请注意,不是所有子命令都接受这些选项。

coreos-installer pxe ignition wrap <options>

在镜像中嵌套 Ignition 配置。

coreos-installer pxe ignition unwrap <options> <image_name>

显示在镜像中嵌套的 Ignition 配置。

coreos-installer pxe ignition unwrap <options> <initrd_name>

initrd 镜像中显示嵌套的 Ignition 配置。

coreos-installer PXE Ignition 选项

选项

描述

-i, --ignition-file <path>

要使用的 Ignition 配置。默认为 stdin

-o, --output <path>

将 ISO 写入到一个新输出文件。

-h--help

打印帮助信息。