3.11. 清单配置文件
3.11.1. 创建 OpenShift Container Platform 清单 复制链接链接已复制到粘贴板!
创建 OpenShift Container Platform 清单。
./openshift-baremetal-install --dir ~/clusterconfigs create manifests
$ ./openshift-baremetal-install --dir ~/clusterconfigs create manifestsCopy 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 regeneratedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.2. 可选:为断开连接的集群配置 NTP 复制链接链接已复制到粘贴板!
OpenShift Container Platform 在集群节点上安装 chrony 网络时间协议(NTP)服务。
OpenShift Container Platform 节点必须在日期和时间上达成一致才能正确运行。当 worker 节点从 control plane 节点上的 NTP 服务器检索日期和时间时,它会启用未连接到可路由网络的集群的安装和操作,因此无法访问更高的 stratum NTP 服务器。
流程
为 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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为引用 control plane 节点上的 NTP 服务器的 worker 节点创建 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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.3. 配置要在 control plane 上运行的网络组件 复制链接链接已复制到粘贴板!
您可以配置网络组件,使其仅在 control plane 节点上运行。默认情况下,OpenShift Container Platform 允许机器配置池中的任何节点托管 ingressVIP 虚拟 IP 地址。但是,有些环境在与 control plane 节点独立的子网中部署 worker 节点,这需要将 ingressVIP 虚拟 IP 地址配置为在 control plane 节点上运行。
在单独的子网中部署远程 worker 时,您必须将 ingressVIP 虚拟 IP 地址专门用于 control plane 节点。
流程
进入存储
install-config.yaml文件的目录:cd ~/clusterconfigs
$ cd ~/clusterconfigsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 切换到
manifests子目录:cd manifests
$ cd manifestsCopy 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.yamlCopy 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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果在完成此步骤后 control plane 节点不可调度,则部署集群将失败。
3.11.4. 可选:在 worker 节点上部署路由器 复制链接链接已复制到粘贴板!
在安装过程中,安装程序会在 worker 节点上部署路由器 Pod。默认情况下,安装程序会安装两个路由器 Pod。如果部署的集群需要额外的路由器来处理用于 OpenShift Container Platform 集群中服务的外部流量负载,您可以创建一个 yaml 文件来设置适当数量的路由器副本。
不支持只使用一个 worker 节点部署集群。虽然在使用一个 worker 时修改路由器副本数量会解决降级状态的问题,但集群丢失了入口 API 的高可用性,它不适用于生产环境。
默认情况下,安装程序会部署两个路由器。如果集群没有 worker 节点,安装程序默认会在 control plane 节点上部署两个路由器。
流程
创建
router-replicas.yaml文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意将
<num-of-router-pods>替换为适当的值。如果只使用一个 worker 节点,请将replicas:设置为1。如果使用 3 个以上 worker 节点,您可以根据情况增加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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.5. 可选:配置 BIOS 复制链接链接已复制到粘贴板!
以下流程在安装过程中配置 BIOS。
流程
- 创建清单。
修改与节点对应的
BareMetalHost资源文件:vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 BIOS 配置添加到
BareMetalHost资源的spec部分:spec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: truespec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意红帽支持三种 BIOS 配置:仅支持 BMC 类型
irmc的服务器。目前不支持其他类型的服务器。- 创建集群。
3.11.6. 可选:配置 RAID 复制链接链接已复制到粘贴板!
以下流程在安装过程中配置独立磁盘的冗余阵列 (RAID)。
- OpenShift Container Platform 仅支持使用 iRMC 协议进行基板管理控制器 (BMC) 的硬件 RAID。OpenShift Container Platform 4.12 不支持软件 RAID。
- 如果要为节点配置硬件 RAID,请验证节点是否具有 RAID 控制器。
流程
- 创建清单。
修改与节点对应的
BareMetalHost资源:vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意以下示例使用硬件 RAID 配置,因为 OpenShift Container Platform 4.12 不支持软件 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 配置不会被删除,且不会执行新的配置。
- 创建集群。