3.10. 配置 install-config.yaml 文件
3.10.1. 配置 install-config.yaml 文件 复制链接链接已复制到粘贴板!
install-config.yaml 文件需要一些额外的详情。大多数信息都教授安装程序,生成的集群有足够的集群来完全管理它。
安装程序不再需要 clusterOSImage RHCOS 镜像,因为正确的镜像位于发行版本有效负载中。
配置
install-config.yaml。更改适当的变量以匹配环境,包括pullSecret和sshKey:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 根据作为 OpenShift Container Platform 集群一部分的 worker 节点数量,扩展 worker 机器。
replicas值可以是0,以及大于或等于2的整数。将副本数设置为0以部署一个三节点集群,该集群仅包含三个 control plane 机器。三节点集群是一个较小的、效率更高的集群,可用于测试、开发和生产。您不能只使用一个 worker 安装集群。 - 2
- 当使用静态 IP 地址部署集群时,您必须设置
bootstrapExternalStaticIP配置设置,以便在裸机网络上没有 DHCP 服务器时可以指定 bootstrap 虚拟机的静态 IP 地址。 - 3
- 当使用静态 IP 地址部署集群时,您必须设置
bootstrapExternalStaticGateway配置设置,以便当裸机网络上没有 DHCP 服务器时可以为 bootstrap 虚拟机指定网关 IP 地址。 - 4
- 如需了解更多选项,请参阅 BMC 寻址部分。
- 5
- 要设置安装磁盘驱动器的路径,请输入磁盘的内核名称。例如:
/dev/sda。重要由于磁盘发现顺序无法保证,因此磁盘的内核名称可以在具有多个磁盘的机器的引导选项之间更改。例如,
/dev/sda变成/dev/sdb,反之亦然。要避免这个问题,您必须使用持久性磁盘属性,如 disk World Wide Name (WWN)。要使用磁盘 WWN,请将deviceName参数替换为wwnWithExtension参数。根据您使用的参数,输入磁盘名称,如/dev/sda或磁盘 WWN,例如"0x64cd98f04fde100024684cf3034da5c2"。确保您在引号中输入磁盘 WWN 值,使其用作字符串值,而不是十六进制值。无法满足
rootDeviceHints参数的这些要求可能会导致以下错误:ironic-inspector inspection failed: No disks satisfied root device hints
ironic-inspector inspection failed: No disks satisfied root device hintsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注意在 OpenShift Container Platform 4.12 之前,集群安装程序只接受
apiVIP和ingressVIP配置设置的 IPv4 地址或 IPv6 地址。在 OpenShift Container Platform 4.12 及更新的版本中,这些配置设置已弃用。反之,使用apiVIPs和ingressVIPs配置设置中的列表格式来指定 IPv4 地址、IPv6 地址或两个 IP 地址格式。创建用于存储集群配置的目录:
mkdir ~/clusterconfigs
$ mkdir ~/clusterconfigsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
install-config.yaml文件复制到新目录中:cp install-config.yaml ~/clusterconfigs
$ cp install-config.yaml ~/clusterconfigsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在安装 OpenShift Container Platform 集群前,请确保关闭所有裸机节点:
ipmitool -I lanplus -U <user> -P <password> -H <management-server-ip> power off
$ ipmitool -I lanplus -U <user> -P <password> -H <management-server-ip> power offCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果以前的部署尝试中保留了旧的 bootstrap 资源,请删除旧的 bootstrap 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.10.2. 其他 install-config 参数 复制链接链接已复制到粘贴板!
下表列出了 install-config.yaml 文件所需的 参数、hosts 参数和 bmc 参数。
| 参数 | default | 描述 |
|---|---|---|
|
|
集群的域名。例如: | |
|
|
|
节点的引导模式。选项为 |
|
| bootstrap 虚拟机的静态 IP 地址。当 bare-metal 网络中没有 DHCP 服务器时部署使用静态 IP 地址的集群时,必须设置这个值。 | |
|
| bootstrap 虚拟机网关的静态 IP 地址。当 bare-metal 网络中没有 DHCP 服务器时部署使用静态 IP 地址的集群时,必须设置这个值。 | |
|
|
| |
|
|
| |
metadata:
name:
|
提供给 OpenShift Container Platform 集群的名称。例如: | |
networking:
machineNetwork:
- cidr:
|
外部网络的公共 CIDR(Classless Inter-Domain Routing)。例如: | |
compute: - name: worker
| OpenShift Container Platform 集群需要为 worker(或计算节点)节点提供一个名称,即使没有节点也是如此。 | |
compute:
replicas: 2
| replicas 设置 OpenShift Container Platform 集群中 worker(或计算)节点的数量。 | |
controlPlane:
name: master
| OpenShift Container Platform 集群需要一个 control plane(master)节点的名称。 | |
controlPlane:
replicas: 3
| replicas 设置作为 OpenShift Container Platform 集群一部分的 control plane(master)节点数量。 | |
|
|
连接到 provisioning 网络的节点上的网络接口名称。对于 OpenShift Container Platform 4.9 及更新的版本,使用 | |
|
| 用于没有平台配置的机器池的默认配置。 | |
|
| (可选)用于 Kubernetes API 通信的虚拟 IP 地址。
此设置必须在 注意
在 OpenShift Container Platform 4.12 之前,集群安装程序只接受 | |
|
|
|
|
|
| (可选)入口流量的虚拟 IP 地址。
此设置必须在 注意
在 OpenShift Container Platform 4.12 之前,集群安装程序只接受 |
| 参数 | default | 描述 |
|---|---|---|
|
|
| 定义 provisioning 网络上节点的 IP 范围。 |
|
|
| 用于置备的网络的 CIDR。在 provisioning 网络中不使用默认地址范围时需要这个选项。 |
|
|
|
运行置备服务的集群中的 IP 地址。默认为 provisioning 子网的第三个 IP 地址。例如: |
|
|
|
在安装程序部署 control plane(master)节点时运行置备服务的 bootstrap 虚拟机上的 IP 地址。默认为 provisioning 子网的第二个 IP 地址。例如: |
|
|
| 附加到裸机网络的虚拟机监控程序的裸机网桥名称。 |
|
|
|
附加到 provisioning 网络的 |
|
|
定义集群的主机架构。有效值为 | |
|
| 用于没有平台配置的机器池的默认配置。 | |
|
|
用于覆盖 bootstrap 节点的默认操作系统镜像的 URL。URL 必须包含镜像的 SHA-256 哈希。例如: | |
|
|
| |
|
| 将此参数设置为环境中使用的适当 HTTP 代理。 | |
|
| 将此参数设置为环境中使用的适当 HTTPS 代理。 | |
|
| 将此参数设置为适合环境中代理使用的排除项。 |
主机
hosts 参数是用于构建集群的独立裸机资产列表。
| 名称 | default | 描述 |
|---|---|---|
|
|
与详细信息 | |
|
|
裸机节点的角色。 | |
|
| 基板管理控制器的连接详情。如需了解更多详细信息,请参阅 BMC 寻址部分。 | |
|
|
主机用于 provisioning 网络的 NIC 的 MAC 地址。Ironic 使用 注意 如果您禁用了 provisioning 网络,则必须从主机提供有效的 MAC 地址。 | |
|
| 设置此可选参数来配置主机的网络接口。如需了解更多详细信息,请参阅"(可选)配置主机网络接口"。 |
3.10.3. BMC 地址 复制链接链接已复制到粘贴板!
大多数供应商支持使用智能平台管理接口(IPMI)寻址的基板管理控制器(BMC)。IPMI 不加密通信。它适用于通过安全或专用管理网络在数据中心内使用。检查您的供应商,了解它们是否支持 Redfish 网络引导。RedFish 为融合、混合型 IT 和软件定义型数据中心(SDDC)提供简单而安全的管理。RedFish 是人类可读的,能够使用通用的互联网和 Web 服务标准将信息直接公开给现代工具链。如果您的硬件不支持 Redfish 网络引导,请使用 IPMI。
IPMI
使用 IPMI 的主机使用 ipmi://<out-of-band-ip>:<port> 地址格式,如果未指定则默认为端口 623。以下示例演示了 install-config.yaml 文件中的 IPMI 配置。
当 PXE 引导使用 IPMI 进行 BMC 寻址时,需要 provisioning 网络。没有 provisioning 网络,就无法 PXE 引导主机。如果您在没有 provisioning 网络的情况下部署,则必须使用虚拟介质 BMC 寻址选项,如 redfish-virtualmedia 或 idrac-virtualmedia。详情请查看 "Redfish 虚拟介质 for HPE iLO" 部分的"适用于 HPE iLO 的 BMC 寻址"部分或"适用于戴尔 iDRAC 的"红帽虚拟媒体"部分中的"红帽虚拟介质"。
RedFish 网络引导
要启用 Redfish,请使用 redfish:// 或 redfish+http:// 禁用 TLS。安装程序需要主机名或 IP 地址,以及系统 ID 的路径。以下示例演示了 install-config.yaml 文件中的 Redfish 配置。
虽然建议为带外管理地址提供颁发机构证书,但在使用自签名证书时,您必须在 bmc 配置中包含 disableCertificateVerification: True。以下示例演示了在 install-config.yaml 文件中使用 disableCertificateVerification: True 配置参数的 Redfish 配置。
Redfish API
在使用裸机安装程序置备的基础架构时,在您的 BCM 中调用几个 redfish API 端点。
您需要在安装前确保 BMC 支持所有 redfish API。
- redfish API 列表
开机
curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "On"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Resetcurl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "On"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.ResetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 关闭
curl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "ForceOff"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.Resetcurl -u $USER:$PASS -X POST -H'Content-Type: application/json' -H'Accept: application/json' -d '{"ResetType": "ForceOff"}' https://$SERVER/redfish/v1/Systems/$SystemID/Actions/ComputerSystem.ResetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
pxe临时引导curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "pxe", "BootSourceOverrideEnabled": "Once"}}curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "pxe", "BootSourceOverrideEnabled": "Once"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
Legacy或UEFI设置 BIOS 引导模式curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideMode":"UEFI"}}curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideMode":"UEFI"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- redfish-virtualmedia API 列表
使用
cd或dvd设置临时引导设备curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "cd", "BootSourceOverrideEnabled": "Once"}}'curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" https://$Server/redfish/v1/Systems/$SystemID/ -d '{"Boot": {"BootSourceOverrideTarget": "cd", "BootSourceOverrideEnabled": "Once"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 挂载虚拟介质
curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: *" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'curl -u $USER:$PASS -X PATCH -H "Content-Type: application/json" -H "If-Match: *" https://$Server/redfish/v1/Managers/$ManagerID/VirtualMedia/$VmediaId -d '{"Image": "https://example.com/test.iso", "TransferProtocolType": "HTTPS", "UserName": "", "Password":""}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
redfish API 的 PowerOn 和 PowerOff 命令与 redfish-virtualmedia API 相同。
HTTPS 和 HTTP 是 TransferProtocolTypes 唯一支持的参数类型。
3.10.4. 适用于 Dell iDRAC 的 BMC 寻址 复制链接链接已复制到粘贴板!
每个 bmc 条目的地址配置设置是连接到 OpenShift Container Platform 集群节点的 URL,包括 URL 方案中的控制器类型及其网络中的位置。每个 bmc 条目 的用户名 配置都必须指定 具有管理员特权的用户。
对于 Dell 硬件,红帽支持集成 Dell Remote Access Controller(iDRAC)虚拟介质、Redfish 网络引导和 IPMI。
Dell iDRAC 的 BMC 地址格式
| 协议 | 地址格式 |
|---|---|
| iDRAC 虚拟介质 |
|
| RedFish 网络引导 |
|
| IPMI |
|
使用 idrac-virtualmedia 作为 Redfish 虚拟介质的协议。RedFish-virtualmedia 无法在 Dell 硬件上运行。Dell 的 idrac-virtualmedia 使用带 Dell OEM 扩展的 Redfish 标准。
详情请查看以下部分。
Dell iDRAC 的 RedFish 虚拟介质
对于 Dell 服务器上的 Redfish 虚拟介质,在 address 设置中使用 idrac-virtualmedia://。使用 redfish-virtualmedia:// 无法正常工作。
使用 idrac-virtualmedia:// 作为 Redfish 虚拟介质的协议。使用 redfish-virtualmedia:// 无法在 Dell 硬件中工作,因为 idrac-virtualmedia:// 协议与 Ironic 中的 idrac 硬件类型和 Redfish 协议对应。Dell 的 idrac-virtualmedia:// 协议使用带有 Dell OEM 扩展的 Redfish 标准。Ironic 还支持带有 WSMAN 协议的 idrac 类型。因此,您必须指定 idrac-virtualmedia://,以避免在 Dell 硬件上选择使用 Redfish 和虚拟介质时出现意外行为。
以下示例演示了在 install-config.yaml 文件中使用 iDRAC 虚拟介质。
虽然建议为带外管理地址提供颁发机构证书,但在使用自签名证书时,您必须在 bmc 配置中包含 disableCertificateVerification: True。
通过 iDRAC 控制台,确保 OpenShift Container Platform 集群节点启用了 AutoAttach。菜单路径为: Configuration
以下示例演示了在 install-config.yaml 文件中使用 disableCertificateVerification: True 配置参数的 Redfish 配置。
iDRAC 的 RedFish 网络引导
要启用 Redfish,请使用 redfish:// 或 redfish+http:// 禁用传输层安全(TLS)。安装程序需要主机名或 IP 地址以及到系统 ID 的路径。以下示例演示了 install-config.yaml 文件中的 Redfish 配置。
虽然建议为带外管理地址提供颁发机构证书,但如果您使用自签名证书,则必须在 bmc 配置中包含 disableCertificateVerification: True。以下示例演示了在 install-config.yaml 文件中使用 disableCertificateVerification: True 配置参数的 Redfish 配置。
Dell iDRAC 9 中存在一个已知问题,带有固件版本 04.40.00.00,所有版本都包括 5xx 系列,用于裸机部署中的安装程序置备安装。虚拟控制台插件默认为 eHTML5,它是 HTML5 的增强版本,这会导致 InsertVirtualMedia 工作流出现问题。将插件设置为使用 HTML5 以避免出现这个问题。菜单路径为 Configuration
通过 iDRAC 控制台,确保 OpenShift Container Platform 集群节点启用了 AutoAttach。菜单路径为: Configuration
3.10.5. HPE iLO 的 BMC 寻址 复制链接链接已复制到粘贴板!
每个 bmc 条目 的地址 字段是连接到 OpenShift Container Platform 集群节点的 URL,包括 URL 方案中的控制器类型及其网络中的位置。
- 1
地址配置设置指定协议。
对于 HPE 集成 Lights Out(iLO),红帽支持红帽虚拟媒体、Redfish 网络引导和 IPMI。
| 协议 | 地址格式 |
|---|---|
| RedFish 虚拟介质 |
|
| RedFish 网络引导 |
|
| IPMI |
|
详情请查看以下部分。
HPE iLO 的 RedFish 虚拟介质
要为 HPE 服务器启用 Redfish 虚拟介质,请在 address 设置中使用 redfish-virtualmedia://。以下示例演示了在 install-config.yaml 文件中使用 Redfish 虚拟介质。
虽然建议为带外管理地址提供颁发机构证书,但在使用自签名证书时,您必须在 bmc 配置中包含 disableCertificateVerification: True。以下示例演示了在 install-config.yaml 文件中使用 disableCertificateVerification: True 配置参数的 Redfish 配置。
运行 iLO4 的 9 代系统上不支持 RedFish 虚拟介质,因为 Ironic 不支持使用虚拟介质的 iLO4。
HPE iLO 的 RedFish 网络引导
要启用 Redfish,请使用 redfish:// 或 redfish+http:// 禁用 TLS。安装程序需要主机名或 IP 地址,以及系统 ID 的路径。以下示例演示了 install-config.yaml 文件中的 Redfish 配置。
虽然建议为带外管理地址提供颁发机构证书,但在使用自签名证书时,您必须在 bmc 配置中包含 disableCertificateVerification: True。以下示例演示了在 install-config.yaml 文件中使用 disableCertificateVerification: True 配置参数的 Redfish 配置。
3.10.6. Fujitsu iRMC 的 BMC 寻址 复制链接链接已复制到粘贴板!
每个 bmc 条目 的地址 字段是连接到 OpenShift Container Platform 集群节点的 URL,包括 URL 方案中的控制器类型及其网络中的位置。
- 1
地址配置设置指定协议。
对于富士通硬件,红帽支持集成远程管理控制器(iRMC)和 IPMI。
| 协议 | 地址格式 |
|---|---|
| iRMC |
|
| IPMI |
|
iRMC
Fujitsu 节点可以使用 irmc://<out-of-band-ip>,默认为端口 443。以下示例演示了 install-config.yaml 文件中的 iRMC 配置。
目前,Fujitsu 支持 iRMC S5 固件版本 3.05 及更高版本用于裸机上的安装程序置备安装。
3.10.7. Root 设备提示 复制链接链接已复制到粘贴板!
rootDeviceHints 参数可让安装程序将 Red Hat Enterprise Linux CoreOS(RHCOS)镜像置备到特定的设备。安装程序会按照发现设备的顺序检查设备,并将发现的值与 hint 值进行比较。安装程序使用第一个与 hint 值匹配的发现设备。配置可以组合多个 hint,但设备必须与所有提示匹配,以便安装程序进行选择。
| 子字段 | 描述 |
|---|---|
|
|
包含类似 |
|
|
包含类似 |
|
| 包含特定厂商的设备标识符的字符串。hint 可以是实际值的子字符串。 |
|
| 包含该设备厂商或制造商名称的字符串。hint 可以是实际值的子字符串。 |
|
| 包含设备序列号的字符串。hint 必须与实际值完全匹配。 |
|
| 以 GB 为单位代表设备的最小大小的整数。 |
|
| 包含唯一存储标识符的字符串。hint 必须与实际值完全匹配。 |
|
| 包含唯一存储标识符的字符串,并附加厂商扩展。hint 必须与实际值完全匹配。 |
|
| 包含唯一厂商存储标识符的字符串。hint 必须与实际值完全匹配。 |
|
| 指明该设备为旋转磁盘(true)还是非旋转磁盘(false)的布尔值。 |
用法示例
3.10.8. 可选:设置代理设置 复制链接链接已复制到粘贴板!
要使用代理部署 OpenShift Container Platform 集群,请对 install-config.yaml 文件进行以下更改。
以下是带有值的 noProxy 示例。
noProxy: .example.com,172.22.0.0/24,10.10.0.0/24
noProxy: .example.com,172.22.0.0/24,10.10.0.0/24
启用代理后,在对应的键/值对中设置代理的适当值。
主要考虑:
-
如果代理没有 HTTPS 代理,请将
httpsProxy 的值从 https:// 改为http://。 -
如果使用 provisioning 网络,将其包含在
noProxy设置中,否则安装程序将失败。 -
将所有代理设置设置为 provisioner 节点中的环境变量。例如:
HTTP_PROXY、HTTPS_PROXY和NO_PROXY。
使用 IPv6 置备时,您无法在 noProxy 设置中定义 CIDR 地址块。您必须单独定义每个地址。
3.10.9. 可选:在没有 provisioning 网络的情况下进行部署 复制链接链接已复制到粘贴板!
要在没有 provisioning 网络的情况下部署 OpenShift Container Platform 集群,请对 install-config.yaml 文件进行以下更改。
- 1
- 如果需要,添加
provisioningNetwork配置设置并将其设置为Disabled。
PXE 引导需要 provisioning 网络。如果您在没有 provisioning 网络的情况下部署,则必须使用虚拟介质 BMC 寻址选项,如 redfish-virtualmedia 或 idrac-virtualmedia。详情请查看 "Redfish 虚拟介质 for HPE iLO" 部分的"适用于 HPE iLO 的 BMC 寻址"部分或"适用于戴尔 iDRAC 的"红帽虚拟媒体"部分中的"红帽虚拟介质"。
3.10.10. 可选:使用双栈网络部署 复制链接链接已复制到粘贴板!
对于 OpenShift Container Platform 集群中的双栈网络,您可以为集群节点配置 IPv4 和 IPv6 地址端点。要为集群节点配置 IPv4 和 IPv6 地址端点,请编辑 install-config.yaml 文件中的 machineNetwork、clusterNetwork 和 serviceNetwork 配置设置。
每个设置必须分别有两个 CIDR 条目。确保第一个 CIDR 条目是 IPv4 设置,第二个 CIDR 条目是 IPv6 设置。
使用双栈网络时,API VIP IP 地址和 Ingress VIP 地址必须是主 IP 地址系列。目前,红帽不支持将 IPv6 作为主要 IP 地址系列的双栈 VIP 或双栈网络。但是,红帽确实支持将 IPv4 作为主要 IP 地址系列的双栈网络。因此,IPv4 条目必须放在 IPv6 条目前面。
在裸机平台上,如果您在 install-config.yaml 文件的 networkConfig 部分中指定了 NMState 配置,请将 interfaces.wait-ip: ipv4+ipv6 添加到 NMState YAML 文件中,以解决阻止集群在双栈网络上部署的问题。
包含 wait-ip 参数的 NMState YAML 配置文件示例
要为使用 IPv4 和 IPv6 地址的应用程序提供接口,请为 Ingress VIP 和 API VIP 服务配置 IPv4 和 IPv6 虚拟 IP (VIP) 地址端点。要配置 IPv4 和 IPv6 地址端点,请编辑 install-config.yaml 文件中的 apiVIPs 和 ingressVIPs 配置设置。apiVIPs 和 ingressVIPs 配置设置使用列表格式。列表的顺序决定了每个服务的主 VIP 地址和次 VIP 地址。
3.10.11. 可选:配置主机网络接口 复制链接链接已复制到粘贴板!
在安装前,您可以在 install-config.yaml 文件中设置 networkConfig 配置设置,以使用 NMState 配置主机网络接口。
此功能的最常见用例是在 bare-metal 网络中指定一个静态 IP 地址,但您也可以配置其他网络,如存储网络。此功能支持 VLAN、VXLAN、网桥、绑定、路由、MTU 和 DNS 解析器设置等其他 NMState 功能。
先决条件
-
使用静态 IP 地址为每个节点配置带有有效主机名的
PTRDNS 记录。 -
安装 NMState CLI (
nmstate)。
流程
可选:在
install-config.yaml文件中包括nmstatectl gc前测试 NMState 语法,因为安装程序不会检查 NMState YAML 语法。注意YAML 语法中的错误可能会导致无法应用网络配置。另外,在部署后或在扩展集群时应用 Kubernetes NMState 更改时,维护所验证的 YAML 语法会很有用。
创建 NMState YAML 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来测试配置文件:
nmstatectl gc <nmstate_yaml_file>
$ nmstatectl gc <nmstate_yaml_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<nmstate_yaml_file>替换为配置文件名称。
通过在
install-config.yaml文件中的主机中添加 NMState 配置,使用networkConfig配置设置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要部署集群后,您无法修改
install-config.yaml文件的networkConfig配置设置,以更改主机网络接口。在部署后,使用 Kubernetes NMState Operator 更改主机网络接口。
3.10.12. 为子网配置主机网络接口 复制链接链接已复制到粘贴板!
对于边缘计算场景,定位接近边缘的计算节点会很有用。要在子网中定位远程节点,您可以对远程节点使用不同的网络片段或子网,而不是用于 control plane 子网和本地计算节点。您可以通过为边缘计算场景设置子网来减少边缘延迟并允许增强可扩展性。
当使用默认负载均衡器时,OpenShiftManagedDefault 并将远程节点添加到 OpenShift Container Platform 集群中,所有 control plane 节点必须在同一子网中运行。当使用多个子网时,您还可以使用清单将 Ingress VIP 配置为在 control plane 节点上运行。详情请参阅"配置要在 control plane 上运行的网络组件"。
如果您为远程节点创建了不同的网络段或子网,如 "Establishing communication" 部分所述,如果 worker 使用静态 IP 地址、绑定或其他高级网络,您必须在 machineNetwork 配置设置中指定子网。当为每个远程节点在 networkConfig 参数中设置节点 IP 地址时,还必须在使用静态 IP 地址时为包含 control plane 节点的子网指定网关和 DNS 服务器。这样可确保远程节点可以访问包含 control plane 的子网,并可从 control plane 接收网络流量。
使用多个子网部署集群需要使用虚拟介质,如 redfish-virtualmedia 或 idrac-virtualmedia,因为远程节点无法访问本地置备网络。
流程
在使用静态 IP 地址时,将子网添加到
install-config.yaml文件中的machineNetwork中:networking: machineNetwork: - cidr: 10.0.0.0/24 - cidr: 192.168.0.0/24 networkType: OVNKubernetes
networking: machineNetwork: - cidr: 10.0.0.0/24 - cidr: 192.168.0.0/24 networkType: OVNKubernetesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在使用静态 IP 地址或高级网络(如绑定)时,使用 NMState 语法将网关和 DNS 配置添加到每个边缘计算节点的
networkConfig参数中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.10.13. 可选:在双栈网络中为 SLAAC 配置地址生成模式 复制链接链接已复制到粘贴板!
对于使用 Stateless Address AutoConfiguration (SLAAC)的双栈集群,您必须为 ipv6.addr-gen-mode 网络设置指定一个全局值。您可以使用 NMState 设置这个值来配置 ramdisk 和集群配置文件。如果您没有在这些位置配置一致的 ipv6.addr-gen-mode,则集群中的 CSR 资源和 BareMetalHost 资源之间可能会发生 IPv6 地址不匹配。
先决条件
-
安装 NMState CLI (
nmstate)。
流程
可选:在
install-config.yaml文件中包括nmstatectl gc命令前使用 nmstatectl gc 命令测试 NMState YAML 语法,因为安装程序不会检查 NMState YAML 语法。创建 NMState YAML 文件:
interfaces: - name: eth0 ipv6: addr-gen-mode: <address_mode>interfaces: - name: eth0 ipv6: addr-gen-mode: <address_mode>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<address_mode>替换为集群中 IPv6 地址所需的地址生成模式类型。有效值为eui64、stable-privacy或random。
运行以下命令来测试配置文件:
nmstatectl gc <nmstate_yaml_file>
$ nmstatectl gc <nmstate_yaml_file>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<nmstate_yaml_file>替换为测试配置文件的名称。
将 NMState 配置添加到 install-config.yaml 文件中的
hosts.networkConfig部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<address_mode>替换为集群中 IPv6 地址所需的地址生成模式类型。有效值为eui64、stable-privacy或random。
3.10.14. 配置多个集群节点 复制链接链接已复制到粘贴板!
您可以使用相同的设置同时配置 OpenShift Container Platform 集群节点。配置多个集群节点可避免在 install-config.yaml 文件中添加每个节点的冗余信息。这个文件包含特定的参数,可将相同的配置应用到集群中的多个节点。
Compute 节点与控制器节点独立配置。但是,两个节点类型的配置都使用 install-config.yaml 文件中突出显示的参数启用多节点配置。将 networkConfig 参数设置为 BOND,如下例所示:
配置多个集群节点仅适用于安装程序置备的基础架构上的初始部署。
3.10.15. 可选:配置管理的安全引导 复制链接链接已复制到粘贴板!
在使用 Redfish BMC 寻址(如 redfish, redfish-virtualmedia, 或 idrac-virtualmedia)部署安装程序置备的集群时,您可以启用受管安全引导。要启用受管安全引导,请在每个节点中添加 bootMode 配置设置:
示例
请参阅"先决条件"中的"配置节点",以确保节点能够支持受管安全引导。如果节点不支持受管安全引导,请参阅"配置节点"部分中的"手动配置安全引导节点"。手动配置安全引导机制需要 Redfish 虚拟介质。
红帽不支持使用 IPMI 进行安全引导,因为 IPMI 不提供安全引导管理功能。