1.4. NodeNetworkConfigurationPolicy 清单文件
NodeNetworkConfigurationPolicy
(NNCP)清单文件定义 Kubernetes NMState Operator 用来为 OpenShift Container Platform 集群中存在的节点配置网络的策略。
如果要将多个 NNCP CR 应用到节点,您必须按照策略名称字母排序的逻辑顺序创建 NNCP。Kubernetes NMState Operator 持续检查新创建的 NNCP CR,以便 Operator 可立即将 CR 应用到节点。请考虑以下逻辑顺序问题示例:
-
您可以创建 NNCP 1 来定义侦听 VLAN 端口的网桥接口,如
eth1.1000
。 -
您可以创建 NNCP 2 来定义 VLAN 接口并为此接口指定端口,如
eth1.1000
。 - 在将 NNCP 2 应用到节点前,请应用 NNCP 1。
节点会遇到节点连接问题,因为端口 eth1.1000
不存在。因此,集群会失败。
将节点网络策略应用到节点后,Kubernetes NMState Operator 根据节点网络策略详情配置节点的网络配置。
以下接口名称列表被保留,您不能使用带有 NMstate 配置的名称:
-
br-ext
-
br-int
-
br-local
-
br-nexthop
-
br0
-
ext-vxlan
-
ext
-
genev_sys_*
-
int
-
k8s-*
-
ovn-k8s-*
-
patch-br-*
-
tun0
-
vxlan_sys_*
您可以使用 OpenShift CLI (oc
)或 OpenShift Container Platform Web 控制台创建 NNCP。作为安装后任务,您可以创建 NNCP 或编辑现有的 NNCP。
在创建 NNCP 之前,请确保读取"示例不同接口的策略配置"文档。
如果要删除 NNCP,您可以使用 oc delete nncp
命令完成此操作。但是,此命令不会删除任何对象,如网桥接口。
删除向节点添加接口的节点网络策略不会更改节点上的策略配置。同样,删除接口不会删除策略,因为 Kubernetes NMState Operator 会在 pod 或节点重启时重新创建删除的接口。
要有效地删除 NNCP、节点网络策略和任何接口通常需要以下操作:
-
编辑 NNCP 并从文件中删除接口详情。确保您没有从文件中删除
name
,state
, 和type
参数。 -
在 NNCP 的
interfaces.state
部分下添加state: absent
。 -
运行
oc apply -f <nncp_file_name>
。在 Kubernetes NMState Operator 将节点网络策略应用到集群中的每个节点后,每个节点中存在的任何接口现在都会标记为 absent。 -
运行
oc delete nncp
以删除 NNCP。