gpt4 book ai didi

docker - l2 cni插件与l3插件有什么区别?

转载 作者:行者123 更新时间:2023-12-02 11:35:35 35 4
gpt4 key购买 nike

l2 cni插件与l3 cni插件有什么区别?

L2 CNI 插件是否不提供对 Pod 的公共(public)访问?L2 和 L3 插件的示例是什么

最佳答案

通常,当提到 L2 与 L3 CNI 插件时,他们谈论的不是其 pod 的可达性(公共(public)与私有(private)),而是更多关于网络插件在该 pod 和其他 Kubernetes pod 之间提供的连接的 OSI 网络模型层.

例如,如果所有 pod 都可以相互发送 L2 流量(例如 ARP),则 CNI 插件提供 L2 连接。大多数 CNI 插件为 Kubernetes pod 提供 IP (L3) 网络,因为这是由 Kubernetes networking model. 定义的。

提供跨主机 L3 网络的 Kubernetes 网络实现的一些示例:Calico、flannel、Canal、kube-router 等。

我能想到的唯一一个可以跨主机提供 L2 网络的例子是 Weave Net,但我预计我可能会忘记其他一些网络。

请注意,以上许多都可以使用 VXLAN 等封装方法来提供跨主机的 pod 到 pod 网络。这通常被误解为它们在 Pod 之间提供 L2 网络。但是,他们通常仍然在 pod 和它的主机之间使用 IP 路由步骤,这意味着它提供 L3 pod 到 pod 的连接。

另请注意,上述许多使用 linux 网桥连接同一主机上的 pod,这意味着同一主机上的 pod 将获得 L2 连接,但其他主机上的 pod 将被路由(L3)。将 L3 网络扩展到大量端点要容易得多,所以这是有道理的。 Calico 在这里是一个小异常(exception),即使对于同一主机上的 Pod 也使用 L3 路由网络。

关于docker - l2 cni插件与l3插件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54872414/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com