Multus CNI 支持为 Kubernetes 中的 Pod 附加多个网络接口。
Multus CNI 是一款 Kubernetes 容器网络接口(CNI)插件,支持为 Pod 附加多个网络接口。通常,Kubernetes 中的每个 Pod 只有一个网络接口(回环接口除外)——借助 Multus,您可以创建具有多个接口的多宿主 Pod。这是通过 Multus 作为“元插件”(一种可调用多个其他 CNI 插件的 CNI 插件)实现的。
Multus CNI 遵循Kubernetes 网络自定义资源定义事实上的标准,提供了一种标准化方法来指定额外网络接口的配置。该标准由 Kubernetes网络配置工作组提出。
Multus 是裸金属容器体验工具包中的项目之一。
下图展示了由 Multus CNI 配置的 Pod 所附加的网络接口。该图中的 Pod 具有三个接口:eth0、net0 和 net1。eth0 连接 Kubernetes 集群网络,用于与 Kubernetes 服务器/服务(如 Kubernetes API 服务器、kubelet 等)通信。net0 和 net1 是额外的网络附件,通过使用其他 CNI 插件(如 vlan/vxlan/ptp)连接到其他网络。
Multus 的快速安装方法要求您首先安装一个 Kubernetes CNI 插件作为 Pod 间网络(我们称之为“默认网络”),即每个 Pod 都会创建的网络接口。Multus 创建的每个网络附件都将附加到此默认网络接口。有关安装默认网络 CNI 插件的更多详细信息,请参阅我们的快速入门指南。
要使用最新功能,请尝试以下命令,通过 kubectl 应用 DaemonSet 并安装完整 Multus:
kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/deployments/multus-daemonset-thick.yml
此命令将配置您的系统以使用 Multus CNI,但要开始为 Pod 添加额外接口,请参阅我们完整的快速入门指南。
随着 Multus 4.0 版本的发布,我们引入了新的客户端/服务器式插件部署方式。这种新部署称为“完整插件”,而之前版本的部署方式现在称为“精简插件”。新的完整插件包含两个二进制文件:multus-daemon 和 multus-shim CNI 插件。“multus-daemon”将作为本地代理部署到所有节点,并支持精简插件部署中未提供的额外功能(如指标)。由于这些额外功能,完整插件的资源消耗比精简插件更高。
我们建议在大多数环境中使用完整插件,但如果您希望运行精简插件或处于资源受限环境,可以使用以下命令:
kubectl apply -f https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/deployments/multus-daemonset.yml
除了快速入门指南外,您还可以:
有关 Multus CNI 的任何问题,请在 GitHub 上提交 issue,或在 NPWG Slack 的 #general 频道提问。
如需加入,请使用此 Slack 邀请链接。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务