Модуль подключения нескольких сетевых интерфейсов (Multus)
На этой странице
Модуль подключения нескольких сетевых интерфейсов к модулям в Kubernetes (Multus CNI) является мета-плагином, который вызывает работу других плагинов CNI, таких как Flannel, Weave, Calico, Cilium, Macvlan. С помощью модуля возможно создать под с несколькими сетевыми интерфейсами, например, eth0, net0, net1.
По умолчанию модуль не установлен в кластерах. Чтобы установить модуль, в графическом интерфейсе кластера в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Доступные чарты. На вкладке “shturval” найдите чарт shturval-metacni
и нажмите “Установить”.
Выберите необходимую версию чарта. После выбора версии чарта в правой части экрана отобразятся доступные “Параметры конфигурации для сервиса” (values). Пропишите в блоке “Спецификация сервиса” необходимые параметры в качестве customvalues.
Обратите внимание! Требуется установка модуля в неймспейс kube-system
.
Если вы настраиваете сетевые интерфейсы в графическом интерфейсе платформы, то также в кластере должны быть установлены и включены:
- оператор с SRIOV интерфейсами (
shturval-sriov
); - CRD оператор для работы с SRIOV интерфейсами (
shturval-sriov-crds
).
После завершения установки модулей в графическом интерфейсе станут доступны для конфигурации дополнительный сети. Подробнее о ресурсах SR-IOV.
Для организации мультисетей с разными IP-адресами или диапазонами адресов модуль (Multus CNI) интегрирован с модулем назначения IP-адресов на интерфейсах, созданных Multus (shturval-metacni-ipam
), который необходимо установить в кластере. Подробнее как установить модуль назначения IP-адресов на интерфейсах.
В текущем релизе используется Multus CNI версии 4.1.3.
Создание дополнительных интерфейсов
Чтобы создать дополнительный интерфейс для использования подами необходимо сконфигурировать пользовательский ресурс, который определяет конфигурацию CNI для интерфейсов. Таким ресурсом является NetworkAttachmentDefinition. Подробнее о ресурсе дополнительной сети NetworkAttachmentDefinition.
Созданные NetworkAttachmentDefinitions подключаются к поду в блоке annotations, с помощью параметра k8s.v1.cni.cncf.io/networks
.
Пример пода с подключенными дополнительными интерфейсами
apiVersion: v1
kind: Pod
metadata:
name: podname
annotations:
k8s.v1.cni.cncf.io/networks: macvlan-conf, name-conf
spec:
containers:
- name: containername
command: ["/bin/ash", "-c", "trap : TERM INT; sleep infinity & wait"]
image: alpine
где macvlan-conf
и name-conf
названия NetworkAttachmentDefinitions.