11.4. 将虚拟机连接到二级 localnet 用户定义的网络
您可以使用 CLI 将虚拟机(VM)连接到 OVN-Kubernetes localnet 二级网络。集群管理员可以使用 ClusterUserDefinedNetwork
(CUDN)自定义资源定义(CRD)在多个命名空间间创建共享 OVN-Kubernetes 网络。
OVN-Kubernetes 二级网络与 多网络策略 API 兼容,它提供 MultiNetworkPolicy
自定义资源定义(CRD)来控制进出虚拟机的流量流。
您必须使用 ipBlock
属性为特定 CIDR 块定义网络策略入口和出口规则。不支持使用 pod 或命名空间选择器策略 peer。
localnet 拓扑将二级网络连接到物理网络。这可让 east-west 集群流量并访问在集群外运行的服务,但它需要在集群节点上配置底层 Open vSwitch (OVS) 系统。
11.4.1. 使用 CLI 为 localnet 拓扑创建一个用户定义的网络 复制链接链接已复制到粘贴板!
您可以使用 CLI 为 localnet 网络拓扑创建二级集群范围的用户定义的网络(CUDN)。
先决条件
-
以具有
cluster-admin
权限的用户身份登录集群。 -
已安装 OpenShift CLI(
oc
)。 - 已安装 Kubernetes NMState Operator。
流程
创建
NodeNetworkConfigurationPolicy
对象,将 OVN-Kubernetes 二级网络映射到 Open vSwitch (OVS)网桥:NodeNetworkConfigurationPolicy
清单示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 配置对象的名称。
- 2
- 指定应用节点网络配置策略的节点。推荐的节点选择器值为
node-role.kubernetes.io/worker: ''
。 - 3
- 流量转发到 OVS 网桥的额外网络的名称。此属性必须与定义 OVN-Kubernetes 额外网络的
ClusterUserDefinedNetwork
对象的spec.network.localnet.physicalNetworkName
字段的值匹配。本例使用名称localnet1
。 - 4
- 节点上的 OVS 网桥的名称。如果
state
属性存在
或未指定,则需要这个值。 - 5
- 映射的状态。需要是
present
来添加映射,或absent
来删除映射。默认值存在
。
重要OpenShift Virtualization 不支持 Linux 网桥绑定模式 0、5 和 6。如需更多信息,请参阅哪个绑定模式在与虚拟机客户机或容器连接的网桥一起使用时可以正常工作?
运行以下命令来应用
NodeNetworkConfigurationPolicy
清单:oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- <filename>
-
指定
NodeNetworkConfigurationPolicy
清单 YAML 文件的名称。
创建
ClusterUserDefinedNetwork
对象来创建 localnet 二级网络:ClusterUserDefinedNetwork
清单示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterUserDefinedNetwork
自定义资源的名称。- 2
- 集群 UDN 应用到的命名空间集合。命名空间选择器不得指向以下值:
default
;openshift
requirements 命名空间;或由 Cluster Network Operator (CNO)定义的任何全局命名空间。 - 3
- 选择器的类型。在本例中,
matchExpressions
选择器选择具有标签kubernetes.io/metadata.name
且值为red
或blue
的对象。 - 4
- operator 的类型。可能的值有
In
、NotIn
和Exists
。 - 5
- 网络的拓扑配置。
Localnet
拓扑将逻辑网络连接到 下的物理网络。 - 6
- 指定 UDN 是 primary 或 secondary。
topology 所需的值为
。Secondary
:Localnet - 7
- 节点上配置的 OVN-Kubernetes 网桥映射的名称。这个值必须与之前创建的
NodeNetworkConfigurationPolicy
清单中的spec.desiredState.ovn.bridge-mappings.localnet
字段匹配。这样可确保您桥接到物理网络的预期片段。 - 8
- 指定 IP 地址管理(IPAM)是启用或禁用的。所需的值为
Disabled
。OpenShift Virtualization 不支持为虚拟机配置 IPAM。
运行以下命令来应用
ClusterUserDefinedNetwork
清单:oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- <filename>
-
指定
ClusterUserDefinedNetwork
清单 YAML 文件的名称。
11.4.2. 使用 CLI 为二级用户定义的网络创建命名空间 复制链接链接已复制到粘贴板!
您可以使用 CLI 创建命名空间以与现有二级集群范围用户定义的网络(CUDN)一起使用。
先决条件
-
以具有
cluster-admin
权限的用户身份登录集群。 -
已安装 OpenShift CLI(
oc
)。
流程
创建一个类似以下示例的
Namespace
对象:Namespace
清单示例apiVersion: v1 kind: Namespace metadata: name: red # ...
apiVersion: v1 kind: Namespace metadata: name: red # ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用
Namespace
清单:oc apply -f <filename>.yaml
oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- <filename>
-
指定
Namespace
清单 YAML 文件的名称。
11.4.3. 使用 CLI 将虚拟机附加到二级用户定义的网络 复制链接链接已复制到粘贴板!
您可以通过配置接口绑定将虚拟机(VM)连接到多个二级集群范围用户定义的网络(CUDN)。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
编辑
VirtualMachine
清单以添加 CUDN 接口详情,如下例所示:VirtualMachine
清单示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用
VirtualMachine
清单:oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- <filename>
-
指定
VirtualMachine
清单 YAML 文件的名称。
当使用 OSA 卡在 IBM Z® 上运行 OpenShift Virtualization 时,请注意 OSA 卡仅将网络流量转发到使用 OSA 设备注册的设备。因此,任何用于未注册的设备的流量都不会转发。