3.12. 安装 RHCOS 并启动 OpenShift Container Platform bootstrap 过程
要在您置备的 IBM Z® 基础架构上安装 OpenShift Container Platform,您必须在 z/VM 客户机虚拟机上安装 Red Hat Enterprise Linux CoreOS (RHCOS)。安装 RHCOS 时,您必须为您要安装的机器类型提供 OpenShift Container Platform 安装程序生成的 Ignition 配置文件。如果您配置了适当的网络、DNS 和负载均衡基础架构,OpenShift Container Platform bootstrap 过程会在 RHCOS z/VM 客户机虚拟机重启后自动启动。
完成以下步骤以创建机器。
先决条件
- 在置备机器上运行的 HTTP 或 HTTPS 服务器,可供您创建的机器访问。
流程
- 在您的置备机器上登录到 Linux。
从 RHCOS 镜像镜像获取 Red Hat Enterprise Linux CoreOS(RHCOS)内核、initramfs 和 rootfs 文件。
重要RHCOS 镜像可能不会随着 OpenShift Container Platform 的每个发行版本而改变。您必须下载最高版本的镜像,其版本号应小于或等于您安装的 OpenShift Container Platform 版本。仅使用以下步骤中描述的适当 kernel、initramfs 和 rootfs 工件。
文件名包含 OpenShift Container Platform 版本号。它们类似以下示例:
-
kernel:
rhcos-<version>-live-kernel-<architecture>
-
initramfs:
rhcos-<version>-live-initramfs.<architecture>.img
rootfs:
rhcos-<version>-live-rootfs.<architecture>.img
注意FCP 和 DASD 的 rootfs 镜像相同。
-
kernel:
创建参数文件。以下参数特定于特定虚拟机:
对于
ip=
,请指定以下七项:- 计算机的 IP 地址。
- 个空字符串。
- 网关
- 子网掩码.
-
hostname.domainname
格式的机器主机和域名。省略这个值可让 RHCOS 决定。 - 网络接口名称。省略这个值可让 RHCOS 决定。
-
如果使用静态 IP 地址,请指定
none
。
-
对于
coreos.inst.ignition_url=
,请为机器角色指定 Ignition 文件。使用bootstrap.ign
、master.ign
或worker.ign
。仅支持 HTTP 和 HTTPS 协议。 -
对于
coreos.live.rootfs_url=
,请为您引导的内核和 initramfs 指定匹配的 rootfs 构件。仅支持 HTTP 和 HTTPS 协议。 对于在 DASD 类型磁盘中安装,请完成以下任务:
-
对于
coreos.inst.install_dev=
,请指定/dev/dasda
。 -
Userd
.dasd=
指定安装 RHCOS 的 DASD。 所有其他参数保持不变。
bootstrap 机器的参数文件示例:bootstrap-0.parm
:rd.neednet=1 \ console=ttysclp0 \ coreos.inst.install_dev=/dev/dasda \ coreos.live.rootfs_url=http://cl1.provide.example.com:8080/assets/rhcos-live-rootfs.s390x.img \ coreos.inst.ignition_url=http://cl1.provide.example.com:8080/ignition/bootstrap.ign \ ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 \ rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 \ zfcp.allow_lun_scan=0 \ rd.dasd=0.0.3490
将参数文件中的所有选项写为一行,并确保您没有换行字符。
-
对于
对于在 FCP 类型磁盘中安装,请完成以下任务:
User
d.zfcp=<adapter>,<wwpn>,<lun>
以指定要安装 RHCOS 的 FCP 磁盘。对于多路径,为每个额外路径重复此步骤。注意当使用多个路径安装时,您必须在安装后直接启用多路径,而不是在以后启用多路径,因为这可能导致问题。
将安装设备设置为:
coreos.inst.install_dev=/dev/disk/by-id/scsi-<serial_number>
。注意如果使用 NPIV 配置额外的 LUN,FCP 需要
zfcp.allow_lun_scan=0
。如果必须启用zfcp.allow_lun_scan=1
,因为您使用 CSI 驱动程序,则必须配置 NPIV,以便每个节点无法访问另一个节点的引导分区。所有其他参数保持不变。
重要需要额外的安装后步骤才能完全启用多路径。如需更多信息,请参阅 安装后机器配置任务 中的"使用 RHCOS 上内核参数启用多路径"。
以下是使用多路径的
worker 节点的 worker 节点的 worker-1.parm
示例参数文件:rd.neednet=1 \ console=ttysclp0 \ coreos.inst.install_dev=/dev/disk/by-id/scsi-<serial_number> \ coreos.live.rootfs_url=http://cl1.provide.example.com:8080/assets/rhcos-live-rootfs.s390x.img \ coreos.inst.ignition_url=http://cl1.provide.example.com:8080/ignition/worker.ign \ ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 \ rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 \ zfcp.allow_lun_scan=0 \ rd.zfcp=0.0.1987,0x50050763070bc5e3,0x4008400B00000000 \ rd.zfcp=0.0.19C7,0x50050763070bc5e3,0x4008400B00000000 \ rd.zfcp=0.0.1987,0x50050763071bc5e3,0x4008400B00000000 \ rd.zfcp=0.0.19C7,0x50050763071bc5e3,0x4008400B00000000
将参数文件中的所有选项写为一行,并确保您没有换行字符。
- 将 initramfs、内核、参数文件和 RHCOS 镜像传送到 z/VM 中,例如使用 FTP。有关如何使用 FTP 传输文件并从虚拟读取器引导的详情,请参阅 在 Z/VM 中安装。
将文件 punch 到 z/VM 客户机虚拟机的虚拟读取器,即成为 bootstrap 节点。
请参阅 IBM 文档中的 PUNCH。
提示您可以使用 CP PUNCH 命令,或者,如果使用 Linux,则使用 vmur 命令在两个 z/VM 虚拟机之间传输文件。
- 在 bootstrap 机器上登录到 CMS。
从 reader IPL bootstrap 机器:
$ ipl c
请参阅 IBM 文档中的 IPL。
- 对集群中的其他机器重复此步骤。
3.12.1. 高级 RHCOS 安装参考
本节演示了网络配置和其他高级选项,允许您修改 Red Hat Enterprise Linux CoreOS(RHCOS)手动安装过程。下表描述了您可以用于 RHCOS live 安装程序和 coreos-installer
命令的内核参数和命令行选项。
3.12.1.1. ISO 安装的网络和绑定选项
如果从 ISO 镜像安装 RHCOS,您可以在引导镜像时手动添加内核参数,以便为节点配置网络。如果没有指定网络参数,当 RHCOS 检测到需要网络来获取 Ignition 配置文件时,在 initramfs 中激活 DHCP。
在手动添加网络参数时,还必须添加 rd.neednet=1
内核参数,以便在 initramfs 中启动网络。
以下信息提供了在 RHCOS 节点上为 ISO 安装配置网络和绑定的示例。示例描述了如何使用 ip=、name
server =
和 bond=
内核参数。
添加内核参数时顺序非常重要: ip=、name
server=
,然后 bond=
。
网络选项在系统引导过程中传递给 dracut
工具。有关 dracut
支持的网络选项的更多信息,请参阅 dracut.cmdline
手册页。
以下示例是 ISO 安装的网络选项。
配置 DHCP 或静态 IP 地址
要配置 IP 地址,可使用 DHCP(ip=dhcp
)或设置单独的静态 IP 地址(ip=<host_ip>
)。如果设置静态 IP,则必须在每个节点上识别 DNS 服务器 IP 地址(名称服务器=<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 网络时,不需要自动配置。
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none nameserver=4.4.4.41
当您使用 DHCP 为 RHCOS 机器配置 IP 寻址时,机器还通过 DHCP 获取 DNS 服务器信息。对于基于 DHCP 的部署,您可以通过 DHCP 服务器配置定义 RHCOS 节点使用的 DNS 服务器地址。
配置没有静态主机名的 IP 地址
您可以在不分配静态主机名的情况下配置 IP 地址。如果用户没有设置静态主机名,则会提取并通过反向 DNS 查找自动设置。要在没有静态主机名的情况下配置 IP 地址,请参考以下示例:
-
节点的 IP 地址为
10.10.10.2
-
网关地址为
10.10.10.254
-
子网掩码为
255.255.255.0
-
DNS 服务器地址为
4.4.4.41
-
自动配置值为
none
。当以静态方式配置 IP 网络时,不需要自动配置。
ip=10.10.10.2::10.10.10.254:255.255.255.0::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
配置默认网关和路由
可选:您可以通过设置 a rd.route=
值来配置到额外网络的路由。
当您配置一个或多个网络时,需要一个默认网关。如果额外网络网关与主要网络网关不同,则默认网关必须是主要网络网关。
运行以下命令来配置默认网关:
ip=::10.10.10.254::::
输入以下命令为额外网络配置路由:
rd.route=20.20.20.0/24:20.20.20.254:enp2s0
在单个接口中禁用 DHCP
您可以在单一接口中禁用 DHCP,例如当有两个或者多个网络接口时,且只有一个接口被使用。在示例中,enp1s0
接口具有一个静态网络配置,而 enp2s0
禁用了 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 配置
您可以将系统上的 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。
要在网络接口中配置 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
提供多个 DNS 服务器
您可以通过为每个服务器添加一个 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,fail_over_mac=1 ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
在 active-backup 模式中始终设置 fail_over_mac=1
选项,以避免使用共享 OSA/RoCE 卡时出现问题。
将多个网络接口绑定到一个接口
可选: 您可以使用 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
使用网络团队
可选: 您可以使用 team=
参数来将网络团队用作绑定的替代选择:
配置组接口的语法为:
team=name[:network_interfaces]
name 是组设备名称(
team0
),network_interfaces 代表以逗号分隔的物理(以太网)接口(em1、em2
)列表。
当 RHCOS 切换到即将推出的 RHEL 版本时,团队(team)功能被计划弃用。如需更多信息,请参阅红帽知识库文章。
使用以下示例配置网络团队:
team=team0:em1,em2 ip=team0:dhcp