Как стать автором
Обновить

Container Networking Interface (CNI) — сетевой интерфейс и стандарт для Linux-контейнеров

Время на прочтение5 мин
Количество просмотров41K
Всего голосов 17: ↑16 и ↓1+15
Комментарии3

Комментарии 3

Качественная статья, спасибо, никак руки не доходят нормально на это посмотреть.

Правильно я понимаю что фактически это надстройки над VETH?
Можно ли использовать CNI без внешнего контроллера (но скажем так что бы он работал например на уровне macvlan)? т.е. без calico, flannel, etc
Я предполагаю что дальше там кругом openvswitch (т.е. в него вставляется второй конец VETH)?
Надстройки над veth — да. Для контейнера создаётся network namespace, интерфейсы которого управляются с помощью плагинов CNI. Вот из спецификации:
A CNI plugin is responsible for inserting a network interface into the container network namespace (e.g. one end of a veth pair) and making any necessary changes on the host (e.g. attaching other end of veth into a bridge).

Calico, Flannel и т.п. — это просто дополнительные плагины, которых может и не быть. Вот есть просто «обычный» (встроенный в CNI плагин) macvlan.
Во второй конец veth могут вставляться разные решения, что как раз и реализуется плагинами.
То есть даже не надстройки а конфигурилки :)

Странно что нет vxlan плагина, вроде у linux с ним все хорошо даже без OVS.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий