配置多网卡虚拟机
结合使用 Kube-OVN 和 Multus,为虚拟机提供多网卡支持
前提条件
- Alauda Container Platform 版本必须为 v4.1.0 或更高版本。
- 使用 Kube-OVN 作为 CNI。
- 已安装 Alauda Container Platform Multi-Network(之前称为 Alauda Container Platform Networking for Multus)
操作步骤
创建辅助网络
-
创建 NetworkAttachmentDefinition
在集群控制节点上执行以下命令:
参数:
- name:NetworkAttachmentDefinition 的名称。
- namespace:NetworkAttachmentDefinition 的命名空间。必须与虚拟机使用相同的命名空间。
- provider:当前 NetworkAttachmentDefinition 的
<name>.<namespace>.ovn。Kube-OVN 将使用此信息查找对应的 Subnet 资源。请注意,后缀必须设置为 ovn。
-
创建 Kube-OVN Subnet
如果使用 Kube-OVN 作为辅助网络接口,则 provider 应设置为对应 NetworkAttachmentDefinition 的
<name>.<namespace>.ovn,并且必须以 ovn 作为后缀。在集群控制节点上执行以下命令:
参数:
- name:子网的名称。
- provider:NetworkAttachmentDefinition 的 provider。
- cidrBlock:子网 CIDR。
- gateway:网关地址。
- excludeIps:保留 IP 的集合,不会被自动分配。例如,可将其用作计算组件的固定 IP 地址。
创建多网卡虚拟机
-
通过 UI 创建 Virtual Machine
-
切换到 YAML 视图,并向虚拟机添加另一个网卡
在
spec.template.spec.domain.devices.interfaces下添加新接口在
spec.template.spec.networks下添加新网络networkName 是 NetworkAttachmentDefinition 的名称。
为新网卡配置网络
虚拟机启动后,需要进入虚拟机并手动为新添加的网卡配置网络。
热插拔网络接口
支持在运行中的 Virtual Machine 中热插拔网络接口。
对于使用 virtio 模型并通过 bridge 绑定或 SR-IOV 绑定连接的接口,支持热插入。
仅对于通过 bridge 绑定连接的接口,支持热拔出。
-
向运行中的 VM 添加接口
使用 kubectl edit 修改虚拟机的 YAML 配置
-
从运行中的 VM 移除接口
使用 kubectl edit 修改虚拟机的 YAML 配置