Multus CNI#
Multus CNI - это плагин для DropApp Plus, который позволяет подключать несколько сетевых интерфейсов к pod в кластере.
Обычно в DropApp Plus каждый pod имеет только один сетевой интерфейс, однако Multus CNI расширяет эту возможность, позволяя создавать многоразовые pod с несколькими интерфейсами. Действует как «meta-plugin», который вызывает несколько других CNI-плагинов для создания дополнительных сетевых интерфейсов. Multus CNI следует стандарту определения пользовательских ресурсов сети и обеспечивает унифицированный способ указания конфигураций дополнительных сетевых интерфейсов. Инструмент полезен для сценариев, требующих подключения pod к нескольким сетям одновременно, или для обеспечения отдельных сетевых путей различных типов трафика в кластере.
Multus CNI предоставляет функции:
Поддержка добавления нескольких сетевых интерфейсов к pod.
Использование Custom Resource Definitions (CRD) для хранения конфигураций дополнительных интерфейсов.
Поддержка различных типов сетевых интерфейсов, таких как MACVLAN, VLAN, VXLAN и другие.
Возможность управления сетевыми конфигурациями через аннотации и настройки CRD.
Расширяемость и гибкость конфигурации сетевых интерфейсов.
Основные команды и флаги для работы с Multus CNI:
oc apply -f <file>: команда для установки Multus CNIс помощью YAML-файла.oc get pods --all-namespaces | grep -i multus: команда для проверки запущенных pod Multus CNI.oc get network-attachment-definitions: команда для получения списка созданных конфигураций дополнительных интерфейсов.oc describe network-attachment-definitions <name_interface>: команда для подробного описания конфигурации определенного дополнительного интерфейса.
Предусловия#
Настройте Kubelet на использование CNI.
Последовательность выполнения#
Установите Multus CNI. Рекомендуемый метод установки – установка через Daemonset. Для этого можно использовать «толстый» (thick) или «тонкий» (thin) плагин:
пример установки «толстого» (
thick) плагина:oc apply -f https://<repoexample.ru>/k8snetworkplumbingwg/multus-cni/master/deployments/multus-daemonset-thick.yml # Укажите актуальный путь до локального репозиторияпример установки «тонкого» (
thin) плагина:oc apply -f https://<repoexample.ru>/k8snetworkplumbingwg/multus-cni/master/deployments/multus-daemonset.yml # Укажите актуальный путь до локального репозитория
Проверка установки#
Чтобы проверить установку, выполните следующие действия:
Проверьте, что все pod Multus CNI запущены без ошибок:
oc get pods --all-namespaces | grep -i multusУбедитесь, что автоматически сгенерированный файл конфигурации существует в каталоге
/etc/cni/net.d/:ls /etc/cni/net.d/
Результат#
Multus CNI установлен и готов к использованию.