8.2.11.3.4. 高级 RHCOS 安装参考

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

8.2.11.3.4.1. ISO 安装的网络和绑定选项

如果从 ISO 镜像安装 RHCOS,您可以在引导镜像时手动添加内核参数来为节点配置网络。如果没有指定网络参数,当 RHCOS 检测到需要网络来获取 Ignition 配置文件时,在 initramfs 中激活 DHCP。

重要

手动添加网络参数时,还必须添加 rd.neednet=1 内核参数,以便在 initramfs 中启动网络。

下表提供了在 RHCOS 节点上为 ISO 安装配置网络和绑定的示例。示例描述了如何使用 ip=nameserver=bond= 内核参数。

注意

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

网络选项在系统引导过程中传递给 dracut 工具。有关 dracut 支持的网络选项的详情,请参考 dracut.cmdline 手册页。

表 8.12. ISO 安装的网络和绑定选项

描述例子

要配置一个 IP 地址,可以使用 DHCP(ip=dhcp)或者设置单独的静态 IP 地址(ip=<host_ip>)。如果设置静态 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
  • 自动配置值为 none。以静态方式配置 IP 网络时,不需要自动配置。
注意

当您使用 DHCP 为 RHCOS 机器配置 IP 地址时,机器也会通过 DHCP 获取 DNS 服务器信息。对于基于 DHCP 的部署,您可以定义 RHCOS 节点通过 DHCP 服务器配置使用的 DNS 服务器地址。

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

可选:您可以通过设置一个 rd.route= 值来配置到额外网络的路由。

如果额外网络网关与主要网络网关不同,则默认网关必须是主要网络网关。

配置默认网关:

ip=::10.10.10.254::::

为额外网络配置路由:

rd.route=20.20.20.0/24:20.20.20.254:enp2s0

在单一接口中禁用 DHCP,比如当有两个或者多个网络接口时,且只有一个接口被使用。在示例中,enp1s0 接口具有静态网络配置,并且 enp2s0 禁用了 DHCP,不使用 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
8.2.11.3.4.2. ISO 安装的 coreos-installer 选项

您可在从 ISO 镜像引导到 RHCOS live 环境后,在命令提示符中运行 coreos-installer install <options> <device> 来安装 RHCOS。

下表显示了您可以传递给 coreos-installer 命令的子命令、选项和参数。

表 8.13. coreos-installer 子命令、命令行选项和参数

coreos-installer install 子命令

子命令

描述

$ coreos-installer install <options> <device>

在 ISO 镜像中嵌入 Ignition 配置。

coreos-installer install 子命令选项

选项

描述

-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>…​

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

--insecure

跳过签名验证。

--insecure-ignition

允许没有 HTTPS 或 hash 的 Ignition URL。

--architecture <name>

目标 CPU 架构。默认为 x86_64

--preserve-on-error

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

-h--help

打印帮助信息。

coreos-install install 子命令参数

参数

描述

<device>

目的设备。

coreos-installer ISO 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 子命令选项

选项

描述

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

-i, --ignition-file <path>

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

-o, --output <path>

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

-h--help

打印帮助信息。

8.2.11.3.4.3. coreos.inst 引导选项用于 ISO 或 PXE 安装

您可以通过将 coreos.inst 引导参数传递给 RHCOS live 安装程序,在启动时自动调用 coreos-installer 选项。除了标准引导参数外,还提供这些参数。

  • 对于 ISO 安装,可以通过在引导加载器菜单中中断自动引导来添加 coreos.inst 选项。您可以在 RHEL CoreOS (Live) 菜单选项高亮时,按 TAB 来中断自动引导。
  • 对于 PXE 或 iPXE 安装,coreos.inst 选项必须在引导 RHCOS live 安装程序前添加到 APPEND 行中。

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

表 8.14. coreos.inst 引导选项

参数描述

coreos.inst.install_dev

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

coreos.inst.ignition_url

可选:嵌入到已安装系统中的 Ignition 配置的 UR如果没有指定 URL,则不会嵌入 Ignition 配置。只支持 HTTP 和 HTTPS 协议。

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 配置)不同。