В чем разница между плагином l2 cni и плагином l3?
В чем разница между l2 плагин cni и l3 плагин cni?
Плагин L2 CNI не предоставляет публичный доступ к модулям? Каковы примеры плагинов L2 и L3?
1 ответ
Обычно, когда речь идет о подключаемых модулях LI против CN3 L3, они меньше говорят о достижимости своих модулей (общедоступных или частных) и больше говорят о слое сетевой модели OSI, который сетевой плагин обеспечивает между этим модулем и другими модулями Kubernetes.,
Например, если все модули могут отправлять трафик L2 друг другу (например, ARP), тогда плагин CNI обеспечивает подключение L2. Большинство плагинов CNI обеспечивают сетевую связь IP (L3) для модулей Kubernetes, поскольку именно это определяется сетевой моделью Kubernetes.
Некоторые примеры реализаций сети Kubernetes, которые обеспечивают сетевое соединение L3 между хостами: Calico, фланель, Canal, Kube-маршрутизатор и т. Д.
Единственный пример, который я могу придумать, может обеспечить сеть L2 между хостами, это Weave Net, но я ожидаю, что есть и другие, которые я забыл.
Обратите внимание, что многие из вышеперечисленных могут использовать методы инкапсуляции, такие как VXLAN, для обеспечения межсетевого взаимодействия между хостами. Это обычно неправильно понимается, чтобы означать, что они обеспечивают сеть L2 между модулями. Тем не менее, они часто по-прежнему используют шаг IP-маршрутизации между модулем и его хостом, что означает, что он обеспечивает соединение между модулями L3 и модулем.
Также обратите внимание, что многие из вышеуказанных модулей подключения на одном хосте используют мост linux, это означает, что модули на одном и том же узле получат подключение L2, но модули на других узлах будут маршрутизироваться (L3). Гораздо проще масштабировать сети L3 до большого количества конечных точек, поэтому это имеет смысл. Калико - небольшое исключение здесь, использующее маршрутизируемую сеть L3 даже для модулей на одном хосте.