Container Networking Plugins#
Некоторые сетевые плагины CNI поддерживаются Container Networking.
CNI (Container Network Interface) состоит из спецификации и библиотек для написания плагинов для настройки сетевых интерфейсов в контейнерах Linux и Windows, а также ряда поддерживаемых плагинов. CNI занимается только подключением контейнеров к сети и удалением выделенных ресурсов при удалении контейнера.
Поддерживаемые плагины#
Основные: interface-creating:
bridge: Создаетbridge, добавляет к нему хост и контейнер;ipvlan: Добавляет интерфейсipvlanв контейнер;loopback: Устанавливает состояние интерфейса обратной связи наup;macvlan: Создает новый MAC-адрес, перенаправляет весь трафик идущий на него в контейнер;ptp: Создает паруveth;vlan: Выделяет устройствоvlan;host-device: Перемещает уже существующее устройство в контейнер;dummy: Создает новое фиктивное устройство в контейнере.
Windows: Windows specific:
win-bridge: Создаетbridge, добавляет к нему хост и контейнер;win-overlay: Создает интерфейс наложения для контейнера.
IPAM: Распределение IP-адресов:
dhcp: Запускает демона на хосте для выполнения DHCP-запросов от имени контейнера;host-local: Поддерживает локальную базу данных выделенных IP-адресов;static: Выделяет контейнеру один статический IPv4/IPv6-адрес.
Meta: другие плагины:
tuning: Настраивает параметрыsysctlсуществующего интерфейса;portmap: Плагин для отображения портов на основеiptables. Отображает порты из адресного пространства хоста в контейнер;bandwidth: Позволяет ограничить полосу пропускания за счет использования tbf управления трафиком (вход/выход);sbr: Плагин, который настраивает маршрутизацию на основе источника для интерфейса, от которого подключен;firewall: Плагин брандмауэра, который используетiptablesили firewalld для добавления правил, разрешающих трафик в/из контейнера.