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