11.10. 将虚拟机连接到 OVN-Kubernetes 第 2 层二级网络
您可以使用 CLI 将虚拟机(VM)连接到 OVN-Kubernetes 层2
二级网络。
layer2
拓扑通过集群范围的逻辑交换机连接工作负载。OVN-Kubernetes Container Network Interface (CNI) 插件使用 Geneve (Generic Network Virtualization Encapsulation) 协议在节点间创建覆盖网络。您可以使用此覆盖网络在不同的节点上连接虚拟机,而无需配置任何其他物理网络基础架构。
OVN-Kubernetes 二级网络与 多网络策略 API 兼容,它提供 MultiNetworkPolicy
自定义资源定义(CRD)来控制进出虚拟机的流量流。您必须使用 ipBlock
属性为特定 CIDR 块定义网络策略入口和出口规则。您不能将 pod 或命名空间选择器用于虚拟化工作负载。
要配置 OVN-Kubernetes layer2
二级网络,并将虚拟机附加到该网络,请执行以下步骤:
11.10.1. 创建 OVN-Kubernetes 第 2 层 NAD 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform Web 控制台或 CLI 为第 2 层网络拓扑创建 OVN-Kubernetes 网络附加定义(NAD)。
不支持在虚拟机的网络附加定义中指定 spec.config.ipam.subnet
属性来配置 IP 地址管理(IPAM)。
11.10.1.1. 使用 CLI 为第 2 层拓扑创建 NAD 复制链接链接已复制到粘贴板!
您可以创建一个网络附加定义(NAD),它描述了如何将 pod 附加到第 2 层覆盖网络。
先决条件
-
您可以使用具有
cluster-admin
权限的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
创建
NetworkAttachmentDefinition
对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Container Network Interface (CNI)规格版本。所需的值为
0.3.1
。 - 2
- 网络的名称。此属性不是命名空间。例如,您可以有一个名为
l2-network
的网络,该网络从两个不同的命名空间中存在的两个不同的NetworkAttachmentDefinition
对象引用。此功能可用于连接不同命名空间中的虚拟机。 - 3
- CNI 插件的名称。所需的值为
ovn-k8s-cni-overlay
。 - 4
- 网络的拓扑配置。所需的值为
layer2
。 - 5
- 可选:最大传输单元 (MTU) 值。如果没有设置值,Cluster Network Operator (CNO)通过计算主网络接口中的 underlay MTU 的不同来设置默认的 MTU 值,如 pod 网络的 overlay MTU,如 Geneve (Generic Network Virtualization Encapsulation),以及任何启用的功能(如 IPsec)的字节容量。
- 6
NetworkAttachmentDefinition
对象的metadata
小节中的namespace
和name
字段的值。
注意前面的示例配置了一个集群范围的覆盖,但没有定义子网。这意味着实现网络的逻辑交换机仅提供第 2 层通信。您必须在创建虚拟机时配置 IP 地址,方法是设置静态 IP 地址,或在网络上为动态 IP 地址部署 DHCP 服务器。
运行以下命令来应用清单:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.10.1.2. 使用 Web 控制台为第 2 层拓扑创建 NAD 复制链接链接已复制到粘贴板!
您可以创建一个网络附加定义 (NAD) 来描述如何将 pod 附加到第 2 层覆盖网络。
先决条件
-
您可以使用具有
cluster-admin
权限的用户访问集群。
流程
-
在 web 控制台中进入 Networking
NetworkAttachmentDefinition。 - 点 Create Network Attachment Definition。网络附加定义必须与 pod 或虚拟机位于同一个命名空间中。
- 输入唯一 Name 和可选 Description。
- 从 Network Type 列表中选择 OVN Kubernetes L2 overlay 网络。
- 点 Create。
11.10.2. 将虚拟机附加到 OVN-Kubernetes 层 2 二级网络 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform web 控制台或 CLI 将虚拟机(VM)附加到 OVN-Kubernetes 第 2 层二级网络接口。
11.10.2.1. 使用 CLI 将虚拟机附加到 OVN-Kubernetes 二级网络 复制链接链接已复制到粘贴板!
您可以通过在虚拟机配置中包含网络详情,将虚拟机 (VM) 连接到 OVN-Kubernetes 二级网络。
先决条件
-
您可以使用具有
cluster-admin
权限的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
编辑
VirtualMachine
清单以添加 OVN-Kubernetes 二级网络接口详情,如下例所示: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 - 可选:如果编辑了正在运行的虚拟机,您必须重启它才能使更改生效。