使用 Multus 将多个网络接口附加到 Pods
Multus CNI 是一个适用于 Amazon EKS 的容器网络接口(CNI)插件,可将多个网络接口附加到 Pod。有关更多信息,请参阅 GitHub 上的 Multus-CNI
在 Amazon EKS 中,每个 Pod 都有一个由 Amazon VPC CNI 插件分配的网络接口。使用 Multus,您可以创建一个具有多个接口的多宿主 Pod。这是由作为“元插件”的 Multus 完成的;一个 CNI 插件,可以调用多个其他 CNI 插件。AWS 对 Multus 的支持将 Amazon VPC CNI 插件配置为默认委托插件。
-
Amazon EKS 将不会构建和发布单个根输入/输出虚拟化(SR-IOV)和数据面板开发套件(DPDK)CNI 插件。但是,您可以通过 Multus 托管主机设备和
ipvlan
插件直接连接到 Amazon EC2 弹性网络适配器 (ENA) 来实现数据包加速。 -
Amazon EKS 支持 Multus,它提供了一个通用的流程,可以简单地连接其他 CNI 插件。支持 Multus 和连接过程,但 AWS 不会支持所有可以连接的兼容 CNI 插件,或者那些与连接配置无关的 CNI 插件中可能出现的问题。
-
Amazon EKS 正在为 Multus 插件提供支持和生命周期管理,但不对与其它网络接口相关的任何 IP 地址或其它管理负责。使用 Amazon VPC CNI 插件的默认网络接口的 IP 地址和管理保持不变。
-
官方仅支持 Amazon VPC CNI 插件作为默认委派插件。如果您选择不对主联网使用 Amazon VPC CNI 插件,则需要修改已发布的 Multus 安装清单,以将默认委派插件重新配置为备用 CNI。
-
仅当使用 Amazon VPC CNI 作为主 CNI 时,才支持 Multus。当用于更高阶接口时,我们不支持 Amazon VPC CNI,无论是次要接口还是其他。
-
为防止 Amazon VPC CNI 插件尝试管理分配给 Pods 的其他网络接口,请将以下标签添加到网络接口:
- 密钥
-
:
node.k8s.amazonaws.com/no_manage
- 值
-
:
true
-
Multus 与网络策略兼容,但必须对策略进行充实,方可包括某些端口和 IP 地址,而其可能是附加到 Pods 的其他网络接口的一部分。
有关实施演练,请参阅 GitHub 上的 Multus 设置指南