2.4. 创建包含一个自定义 br-ex 网桥的清单对象
除了使用 configure-ovs.sh
shell 脚本在裸机平台上设置 br-ex
网桥的替代选择,您可以创建一个包括 NMState 配置文件的 MachineConfig
对象。主机 nmstate-configuration.service
和 nmstate.service
将 NMState 配置文件应用到集群中运行的每个节点。
请考虑以下用例:创建包含自定义 br-ex
网桥的清单对象:
-
您需要对网桥进行安装后更改,如更改 Open vSwitch (OVS) 或 OVN-Kubernetes
br-ex
网桥网络。configure-ovs.sh
shell 脚本不支持对网桥进行安装后更改。 - 您希望将网桥部署到与主机或服务器 IP 地址上可用的接口不同的接口上。
-
您希望通过
configure-ovs.sh
shell 脚本对网桥进行高级配置。对这些配置使用脚本可能会导致网桥无法连接多个网络接口,并无法正确处理接口之间的数据转发。
如果您需要一个只带有单一网络接口控制器 (NIC) 和默认网络设置的环境,请使用 configure-ovs.sh
shell 脚本。
在安装 Red Hat Enterprise Linux CoreOS (RHCOS) 并重启系统后,Machine Config Operator 会将 Ignition 配置文件注入集群中的每个节点,以便每个节点收到 br-ex
网桥网络配置。为防止配置冲突,configure-ovs.sh
shell 脚本会收到一个不要配置 br-ex
网桥的信号。
先决条件
-
可选: 已安装
nmstate
API,以便您可以验证 NMState 配置。
流程
为您的自定义
br-ex
网桥网络创建一个使用 base64 信息的 NMState 配置文件:自定义
br-ex
网桥网络的 NMState 配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
cat
命令对 NMState 配置的内容进行 base64 编码:cat <nmstate_configuration>.yaml | base64
$ cat <nmstate_configuration>.yaml | base64
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<nmstate_configuration>
替换为 NMState 资源 YAML 文件的名称。
创建
MachineConfig
清单文件,并定义一个自定义br-ex
网桥网络配置,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,如果您有一个在
/etc/nmstate/openshift/cluster.yml
配置文件中定义的单一全局配置,您需要将它应用到集群中的所有节点,则不需要为每个节点指定短主机名路径,如/etc/nmstate/openshift/<node_hostname>.yml
。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤
-
扩展计算节点,以将包含自定义
br-ex
网桥的 manifest 对象应用到集群中存在的每个计算节点。如需更多信息,请参阅附加资源部分中的"扩展集群"。
2.4.1. 可选:将每个机器集扩展到计算节点 复制链接链接已复制到粘贴板!
要将自定义 br-ex
网桥配置应用到 OpenShift Container Platform 集群中的所有计算节点,您必须编辑 MachineConfig
自定义资源 (CR) 并修改其角色。另外,您必须创建一个 BareMetalHost
CR,用于定义裸机机器的信息,如主机名、凭证等。
配置这些资源后,您必须扩展机器集,以便机器集可以将资源配置应用到每个计算节点并重新引导节点。
先决条件
-
您创建了包含自定义
br-ex
网桥配置的MachineConfig
清单对象。
流程
输入以下命令编辑
MachineConfig
CR:oc edit mc <machineconfig_custom_resource_name>
$ oc edit mc <machineconfig_custom_resource_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将每个计算节点配置添加到 CR,以便 CR 可以管理集群中每个定义的计算节点的角色。
-
创建名为
extraworker-secret
的Secret
对象,该对象具有最小的静态 IP 配置。 输入以下命令将
extraworker-secret
secret 应用到集群中的每个节点。此步骤提供每个计算节点对 Ignition 配置文件的访问权限。oc apply -f ./extraworker-secret.yaml
$ oc apply -f ./extraworker-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
BareMetalHost
资源并在preprovisioningNetworkDataName
参数中指定网络 secret:带有附加网络 secret 的
BareMetalHost
资源示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在集群的
openshift-machine-api
命名空间中管理BareMetalHost
对象,请输入以下命令来更改命名空间:oc project openshift-machine-api
$ oc project openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取机器集:
oc get machinesets
$ oc get machinesets
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令扩展每个机器集。您必须为每个机器集运行这个命令。
oc scale machineset <machineset_name> --replicas=<n>
$ oc scale machineset <machineset_name> --replicas=<n>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 其中
<machineset_name>
是机器集的名称,<n>
是计算节点的数量。