Bha*_*ula 4 calico docker kubernetes flannel cni
l2 cni插件和l3 cni插件有什么区别?
L2 CNI 插件不提供对 pod 的公共访问吗? L2 和 L3 插件的示例是什么
小智 6
通常,当提到 L2 与 L3 CNI 插件时,他们谈论的不是 Pod 的可达性(公共与私有),而是更多地谈论网络插件在该 Pod 和其他 Kubernetes Pod 之间提供的 OSI 网络模型连接层.
例如,如果所有 Pod 都可以相互发送 L2 流量(例如,ARP),则 CNI 插件提供 L2 连接。大多数 CNI 插件为 Kubernetes pod 提供 IP (L3) 网络,因为这是由Kubernetes 网络模型定义的。
提供跨主机 L3 网络的 Kubernetes 网络实现的一些示例:Calico、flannel、Canal、kube-router 等。
我能想到的可以跨主机提供 L2 网络的唯一示例是 Weave Net,但我希望可能还有其他示例我忘记了。
请注意,以上许多都可以使用 VXLAN 等封装方法来提供跨主机的 pod-to-pod 网络。这通常被误解为它们在 Pod 之间提供 L2 网络。但是,他们通常仍然在 Pod 与其主机之间使用 IP 路由步骤,这意味着它提供 L3 Pod 到 Pod 连接。
另请注意,上述许多连接使用 linux 桥接器连接同一主机上的 Pod,这意味着同一主机上的 Pod 将获得 L2 连接,但其他主机上的 Pod 将被路由 (L3)。将 L3 网络扩展到大量端点要容易得多,所以这是有道理的。Calico 在这里是一个轻微的例外,即使是同一主机上的 pod 也使用 L3 路由网络。
| 归档时间: |
|
| 查看次数: |
539 次 |
| 最近记录: |