1.7. 使用 CLI 管理策略
1.7.1. 在节点上创建接口 复制链接链接已复制到粘贴板!
通过将一个 NodeNetworkConfigurationPolicy
(NNCP) 清单应用到集群来在集群的节点上创建一个接口。清单详细列出了请求的接口配置。
默认情况下,清单会应用到集群中的所有节点。要将接口只添加到特定的节点,在节点选择器上添加 spec: nodeSelector
参数和适当的 <key>:<value>
。
您可以同时配置多个支持 nmstate 节点。该配置适用于并行节点的 50%。如果网络连接失败,此策略可防止整个集群不可用。要将策略配置并行应用到集群的特定部分,请使用 NodeNetworkConfigurationPolicy
清单配置文件中的 maxUnavailable
参数。
如果您有两个节点,并且对这些节点应用了一个 NNCP 清单,其中 maxUnavailable
参数设置为 50%
, 则一次只有一个节点可以接收 NNCP 配置。如果您引入一个额外的 NNCP 清单文件,其 maxUnavailable
参数设置为 50%
,则这个 NCCP 独立于初始 NNCP。这意味着,如果 NNCP 清单对节点应用错误配置,则您无法保证集群有一半的功能。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
创建
NodeNetworkConfigurationPolicy
清单。以下示例在所有 worker 节点上配置了一个 Linux 桥接并配置 DNS 解析器: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
- 节点网络配置策略清单的文件名。
其他资源
1.7.2. 确认节点上的节点网络策略更新 复制链接链接已复制到粘贴板!
当您应用节点网络策略时,会为集群中的每个节点创建一个 NodeNetworkConfigurationEnactment
对象。节点网络配置是一个只读对象,代表在该节点上执行策略的状态。如果策略在节点上应用失败,则该节点会包括 traceback 用于故障排除。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
要确认策略已应用到集群,请列出策略及其状态:
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
1.7.3. 从节点中删除接口 复制链接链接已复制到粘贴板!
您可以通过编辑 NodeNetworkConfigurationPolicy
对象从集群中的一个或多个节点中删除接口,并将接口的状态
设置为 absent
。
从节点中删除接口不会自动将节点网络配置恢复到以前的状态。如果要恢复之前的状态,则需要在策略中定义节点网络配置。
如果删除了网桥或绑定接口,以前附加到该网桥或绑定接口的任何节点 NIC 都会处于 down
状态并变得不可访问。为了避免连接丢失,在相同策略中配置节点 NIC,使其具有 up
状态,以及使用 DHCP 或一个静态 IP 地址。
删除添加接口的节点网络策略不会更改节点上的策略配置。虽然 NodeNetworkConfigurationPolicy
是集群中的一个对象,但对象只代表请求的配置。同样,删除接口不会删除策略。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
更新用来创建接口的
NodeNetworkConfigurationPolicy
清单。以下示例删除了 Linux 网桥,并使用 DHCP 配置eth1
NIC 以避免断开连接: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
- 策略清单的文件名。