3.14. 清单配置文件
3.14.1. 创建 OpenShift Container Platform 清单 复制链接链接已复制到粘贴板!
创建 OpenShift Container Platform 清单。
./openshift-baremetal-install --dir ~/clusterconfigs create manifests
$ ./openshift-baremetal-install --dir ~/clusterconfigs create manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regenerated
INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regenerated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.14.2. 为断开连接的集群配置 NTP 复制链接链接已复制到粘贴板!
OpenShift Container Platform 在集群节点上安装 chrony
网络时间协议(NTP)服务。
OpenShift Container Platform 节点必须在日期和时间上达成一致才能正确运行。当计算节点从 control plane 节点上的 NTP 服务器检索日期和时间时,它会启用未连接到可路由网络的集群的安装和操作,因此无法访问更高的 stratum NTP 服务器。
流程
使用以下命令在安装主机上安装 Butane:
sudo dnf -y install butane
$ sudo dnf -y install butane
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 control plane 节点创建一个 Butane 配置
99-master-chrony-conf-override.bu
,包括chrony.conf
文件的内容。注意如需有关 Butane 的信息,请参阅"使用 Butane 创建机器配置"。
但ane 配置示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您必须将
<cluster-name>
替换为集群名称,并将<domain>
替换为完全限定域名。
使用 Butane 生成
MachineConfig
对象文件99-master-chrony-conf-override.yaml
,其中包含要发送到 control plane 节点的配置:butane 99-master-chrony-conf-override.bu -o 99-master-chrony-conf-override.yaml
$ butane 99-master-chrony-conf-override.bu -o 99-master-chrony-conf-override.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为引用 control plane 节点上的 NTP 服务器的计算节点创建 Butane 配置
99-worker-chrony-conf-override.bu
,包括chrony.conf
文件的内容。但ane 配置示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您必须将
<cluster-name>
替换为集群名称,并将<domain>
替换为完全限定域名。
使用 Butane 生成
MachineConfig
对象文件99-worker-chrony-conf-override.yaml
,其中包含要交付至 worker 节点的配置:butane 99-worker-chrony-conf-override.bu -o 99-worker-chrony-conf-override.yaml
$ butane 99-worker-chrony-conf-override.bu -o 99-worker-chrony-conf-override.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.14.3. 配置要在 control plane 上运行的网络组件 复制链接链接已复制到粘贴板!
您可以配置网络组件,使其仅在 control plane 节点上运行。默认情况下,OpenShift Container Platform 允许机器配置池中的任何节点托管 ingressVIP
虚拟 IP 地址。但是,有些环境在与 control plane 节点独立的子网中部署计算节点,这需要将 ingressVIP
虚拟 IP 地址配置为在 control plane 节点上运行。
在单独的子网中部署远程节点时,您必须将 ingressVIP
虚拟 IP 地址专门用于 control plane 节点。
流程
进入存储
install-config.yaml
文件的目录:cd ~/clusterconfigs
$ cd ~/clusterconfigs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 切换到
manifests
子目录:cd manifests
$ cd manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
cluster-network-avoid-workers-99-config.yaml
的文件:touch cluster-network-avoid-workers-99-config.yaml
$ touch cluster-network-avoid-workers-99-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在编辑器中打开
cluster-network-avoid-workers-99-config.yaml
文件,并输入描述 Operator 配置的自定义资源(CR):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此清单将
ingressVIP
虚拟 IP 地址放在 control plane 节点上。另外,此清单仅在 control plane 节点上部署以下进程:-
openshift-ingress-operator
-
keepalived
-
-
保存
cluster-network-avoid-workers-99-config.yaml
文件。 创建
manifests/cluster-ingress-default-ingresscontroller.yaml
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
考虑备份
manifests
目录。在创建集群时,安装程序会删除manifests/
目录。 通过将
mastersSchedulable
字段设置为true
来修改cluster-scheduler-02-config.yml
清单,使 control plane 节点可以调度。默认情况下,control plane 节点不可调度。例如:sed -i "s;mastersSchedulable: false;mastersSchedulable: true;g" clusterconfigs/manifests/cluster-scheduler-02-config.yml
$ sed -i "s;mastersSchedulable: false;mastersSchedulable: true;g" clusterconfigs/manifests/cluster-scheduler-02-config.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果在完成此步骤后 control plane 节点不可调度,则部署集群将失败。
3.14.4. 在计算节点上部署路由器 复制链接链接已复制到粘贴板!
在安装过程中,安装程序会在计算节点上部署路由器 pod。默认情况下,安装程序会安装两个路由器 pod。如果部署的集群需要额外的路由器来处理用于 OpenShift Container Platform 集群中服务的外部流量负载,您可以创建一个 yaml
文件来设置适当数量的路由器副本。
不支持只使用一个计算节点部署集群。虽然在使用一个计算节点时修改路由器副本数量会解决降级
状态的问题,但集群丢失了入口 API 的高可用性,它不适用于生产环境。
默认情况下,安装程序会部署两个路由器。如果集群没有计算节点,安装程序会默认在 control plane 节点上部署两个路由器。
流程
创建
router-replicas.yaml
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意将
<num-of-router-pods>
替换为适当的值。如果只使用一个计算节点,请将replicas:
设置为1
。如果使用超过 3 个计算节点,您可以根据情况增加replicas:
的值(默认值为2
)。将
router-replicas.yaml
文件复制到clusterconfigs/openshift
目录中:cp ~/router-replicas.yaml clusterconfigs/openshift/99_router-replicas.yaml
$ cp ~/router-replicas.yaml clusterconfigs/openshift/99_router-replicas.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.14.5. 配置 BIOS 复制链接链接已复制到粘贴板!
以下流程在安装过程中配置 BIOS。
流程
- 创建清单。
修改与节点对应的
BareMetalHost
资源文件:vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 BIOS 配置添加到
BareMetalHost
资源的spec
部分:spec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: true
spec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意红帽支持三种 BIOS 配置:仅支持 BMC 类型
irmc
的服务器。目前不支持其他类型的服务器。- 创建集群。
3.14.6. 配置 RAID 复制链接链接已复制到粘贴板!
以下流程在安装过程中使用基板管理控制器 (BMC) 配置独立磁盘的冗余阵列 (RAID)。
如果要为节点配置硬件 RAID,请验证节点是否具有支持的 RAID 控制器。OpenShift Container Platform 4.17 不支持软件 RAID。
Vendor | BMC 和协议 | 固件版本 | RAID 级别 |
---|---|---|---|
Fujitsu | iRMC | N/A | 0、1、5、6 和 10 |
Dell | 使用 Redfish 的 iDRAC | 版本 6.10.30.20 或更高版本 | 0、1 和 5 |
流程
- 创建清单。
修改与节点对应的
BareMetalHost
资源:vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意以下示例使用硬件 RAID 配置,因为 OpenShift Container Platform 4.17 不支持软件 RAID。
如果您在
spec
部分添加了特定的 RAID 配置,这会导致节点在preparing
阶段删除原始 RAID 配置,并在 RAID 上执行指定的配置。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
level
是必填字段,另一个是可选字段。
如果您在
spec
部分添加了空的 RAID 配置,空配置会导致节点在preparing
阶段删除原始 RAID 配置,但不执行新配置。例如:spec: raid: hardwareRAIDVolumes: []
spec: raid: hardwareRAIDVolumes: []
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果您没有在
spec
部分添加raid
字段,则原始 RAID 配置不会被删除,且不会执行新的配置。
- 创建集群。
3.14.7. 在节点上配置存储 复制链接链接已复制到粘贴板!
您可以通过创建由 Machine Config Operator (MCO) 管理的 MachineConfig
对象来更改 OpenShift Container Platform 节点上的操作系统。
MachineConfig
规格包括一个 ignition 配置,用于在第一次引导时配置机器。此配置对象可用于修改 OpenShift Container Platform 机器上运行的文件、systemd 服务和其他操作系统功能。
流程
使用 ignition 配置在节点上配置存储。以下 MachineSet
清单示例演示了如何将分区添加到主节点上的设备中。在本例中,在安装前应用清单,其名为 restore
的分区,大小为 16 GiB。
创建
custom-partitions.yaml
文件,并包含一个包含分区布局的MachineConfig
对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
custom-partitions.yaml
文件复制到clusterconfigs/openshift
目录中:cp ~/<MachineConfig_manifest> ~/clusterconfigs/openshift
$ cp ~/<MachineConfig_manifest> ~/clusterconfigs/openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow