8.7. 将虚拟机连接到 OVN-Kubernetes 二级网络
您可以将虚拟机 (VM) 连接到 Open Virtual Network (OVN)-Kubernetes 二级网络。OVN-Kubernetes Container Network Interface (CNI) 插件使用 Geneve (Generic Network Virtualization Encapsulation) 协议在节点间创建覆盖网络。
OpenShift Virtualization 目前支持扁平第 2 层拓扑。这个拓扑通过集群范围的逻辑交换机连接工作负载。您可以使用此覆盖网络在不同的节点上连接虚拟机,而无需配置任何其他物理网络基础架构。
要配置 OVN-Kubernetes 二级网络并将虚拟机附加到该网络,请执行以下步骤:
8.7.1. 创建 OVN-Kubernetes NAD 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform Web 控制台或 CLI 创建 OVN-Kubernetes 扁平第 2 层网络附加定义 (NAD)。
不支持在虚拟机的网络附加定义中指定 spec.config.ipam.subnet
属性来配置 IP 地址管理(IPAM)。
8.7.1.1. 使用 CLI 为扁平第 2 层拓扑创建 NAD 复制链接链接已复制到粘贴板!
您可以创建一个网络附加定义(NAD),它描述了如何将 pod 附加到第 2 层覆盖网络。
先决条件
-
您可以使用具有
cluster-admin
权限的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
创建
NetworkAttachmentDefinition
对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- CNI 规格版本。所需的值为
0.3.1
。 - 2
- 网络的名称。此属性不是命名空间。例如,您可以有一个名为
l2-network
的网络,该网络从两个不同的命名空间中存在的两个不同的NetworkAttachmentDefinition
对象引用。此功能可用于连接不同命名空间中的虚拟机。 - 3
- 要配置的 CNI 插件的名称。所需的值为
ovn-k8s-cni-overlay
。 - 4
- 网络的拓扑配置。所需的值为
layer2
。 - 5
- 可选:最大传输单元 (MTU) 值。默认值由内核自动设置。
- 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
8.7.2. 将虚拟机附加到 OVN-Kubernetes 二级网络 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform web 控制台或 CLI 将虚拟机(VM)附加到 OVN-Kubernetes 二级网络接口。
8.7.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 - 可选:如果编辑了正在运行的虚拟机,您必须重启它才能使更改生效。