This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.10.2. 更新节点网络配置
您可以通过将 NodeNetworkConfigurationPolicy
清单应用到集群来更新节点网络的配置,如为节点添加或删除接口。
10.2.1. 关于 nmstate 复制链接链接已复制到粘贴板!
容器原生虚拟化使用 nmstate
来报告并配置节点网络的状态。这样就可以通过将单个配置清单应用到集群来修改网络策略配置,例如在所有节点上创建 Linux 桥接。
节点网络由以下对象监控和更新:
NodeNetworkState
- 报告该节点上的网络状态。
NodeNetworkConfigurationPolicy
-
描述节点上请求的网络配置。您可以通过将
NodeNetworkConfigurationPolicy
清单应用到集群来更新节点网络配置,包括添加和删除网络接口 。 NodeNetworkConfigurationEnactment
- 报告每个节点上采用的网络策略。
10.2.2. 在节点上创建接口 复制链接链接已复制到粘贴板!
通过将一个 NodeNetworkConfigurationPolicy
清单应用到集群来在集群的节点上创建一个接口。清单详细列出了请求的接口配置。
默认情况下,清单会应用到集群中的所有节点。要将接口只添加到特定的节点,在节点选择器上添加 spec: nodeSelector
参数和适当的 <key>:<value>
。
流程
创建
NodeNetworkConfigurationPolicy
清单。以下示例在所有 worker 节点上配置了一个 Linux 桥接:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建策略:
oc apply -f <br1-eth1-policy.yaml>
$ oc apply -f <br1-eth1-policy.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 策略清单的文件名。
10.2.3. 确认节点上的策略更新 复制链接链接已复制到粘贴板!
NodeNetworkConfigurationPolicy
清单描述了您为集群中的节点请求的网络配置。Policy 对象包括您请求的网络配置以及整个集群中的 Policy 的执行状态。
当应用策略时,会为集群中的每个节点创建一个 NodeNetworkConfigurationEnactment
。Enactment 是一个只读对象,代表在该节点上执行策略的状态。如果策略在该节点上应用失败,则该节点的 Enactment 将会包含 traceback 信息用于故障排除。
流程
要确认一个策略已在集群中被应用,列出策略及其状态:
oc get nncp
$ oc get nncp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)如果策略配置成功的时间比预期的要长,您可以检查特定策略请求的状态和状态条件:
oc get nncp <policy> -o yaml
$ oc get nncp <policy> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)如果策略在所有节点上配置成功的时间比预期的要长,您可以列出集群中的 Enactments 的状态:
oc get nnce
$ oc get nnce
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)要查看特定的 Enactment 的配置,包括对失败配置进行任何错误报告:
oc get nnce <node>.<policy> -o yaml
$ oc get nnce <node>.<policy> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2.4. 从节点中删除接口 复制链接链接已复制到粘贴板!
编辑 NodeNetworkConfigurationPolicy
对象,把接口的 state
设置为 absent
来把接口从节点中删除。
删除添加接口的策略不会更改节点上的网络策略的配置。虽然 NodeNetworkConfigurationPolicy
是集群中的一个对象,但它只代表请求的配置。
同样,删除接口不会删除策略。
流程
更新用来创建接口的
NodeNetworkConfigurationPolicy
清单。以下示例删除了一个 Linux 桥接:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新节点上的策略并删除接口:
oc apply -f <br1-eth1-policy.yaml>
$ oc apply -f <br1-eth1-policy.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 策略清单的文件名。
10.2.5. 删除接口后恢复节点网络配置 复制链接链接已复制到粘贴板!
从节点中删除接口不会自动将节点网络配置恢复到以前的状态。删除接口后,以前附加到该接口或从属的整个集群中的任何节点 NIC 都会处于 down
状态。将一个新的 NodeNetworkConfigurationPolicy
清单应用到集群来恢复 NIC。
流程
创建
NodeNetworkConfigurationPolicy
清单,用于指定 NIC 和所需状态up
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将清单应用到集群:
oc apply -f <eth1.yaml>
$ oc apply -f <eth1.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 策略清单的文件名。
通过将一个 NodeNetworkConfigurationPolicy
清单应用到集群来在集群的节点上创建一个 Linux 网桥接口。
以下 YAML 文件是 Linux 网桥界面的清单示例。如果运行 playbook,其中会包含必须替换为您自己的信息的样本值。
10.2.7. 示例:VLAN interface NodeNetworkConfigurationPolicy 复制链接链接已复制到粘贴板!
通过将一个 NodeNetworkConfigurationPolicy
清单应用到集群来在集群的节点上创建一个 VLAN 接口。
以下 YAML 文件是 VLAN 接口的清单示例。如果运行 playbook,其中会包含必须替换为您自己的信息的样本值。
通过将一个 NodeNetworkConfigurationPolicy
清单应用到集群来在集群的节点上创建一个绑定接口。
容器原生虚拟化只支持以下绑定模式:
-
mode=1 active-backup
-
mode=5 balance-tlb
- mode=6 balance-alb
以下 YAML 文件是绑定接口的清单示例。如果运行 playbook,其中会包含必须替换为您自己的信息的样本值。
- 1
- 策略的名称。
- 2
- 可选。如果没有包括
nodeSelector
,策略会应用到集群中的所有节点。 - 3
- 这个示例使用
hostname
节点选择器。 - 4
- 接口的名称。
- 5
- 可选。接口人类可读的描述。
- 6
- 接口的类型。这个示例创建了一个绑定。
- 7
- 创建后接口的请求状态。
- 8
- 可选。如果您不使用
dhcp
,可以设置静态 IP,或让接口没有 IP 地址。 - 9
- 在这个示例中启用
ipv4
。 - 10
- Bond 的驱动模式。这个示例使用 active 备份模式。
- 11
- 可选。这个示例使用 miimon 检查每 140ms 的绑定链接。
- 12
- 绑定中的下级节点 NIC。
- 13
- 可选。绑定的最大传输单元 (MTU) 。如果没有指定,其默认值为
1500
。