Multus Whereabout CNI#

Multus Whereabout CNI - это плагин IP Address Management (IPAM) для контейнерной сети (CNI), который назначает IP-адреса на уровне кластера.

Multus Whereabout CNI используется для управления IP-адресами в DropApp Plus и позволяет назначать IP-адреса на уровне всего кластера. Полезен в сценариях, где требуется точное управление IP-адресами для контейнеров, особенно в средах, где используются дополнительные сетевые интерфейсы и многоуровневая сеть.

Multus Whereabout CNI предоставляет функции:

  1. Назначение IP-адресов в пределах указанного диапазона.

  2. Исключение определенных диапазонов IP-адресов из назначения.

  3. Поддержка IPv4 и IPv6.

  4. Возможность назначения нескольких IP-адресов из разных диапазонов.

  5. Поддержка конфигураций DualStack для одновременного использования IPv4 и IPv6.

  6. Определение начального и конечного IP-адреса для диапазона назначения.

  7. Использование различных хранилищ (etcd, Kubernetes Custom Resource) для отслеживания использованных IP-адресов.

Основные команды и флаги для работы с Multus Whereabout CNI:

  1. oc apply -f <файл.yaml>: команда для применения конфигурационных файлов YAML, необходимых для установки Multus Whereabout CNI.

  2. range: команда для определения диапазона IP-адресов, в пределах которого будут назначаться адреса.

  3. exclude: команда для определения диапазона IP-адресов, которые следует исключить из назначения.

  4. ipRanges: команда определения списка диапазонов IP-адресов для назначения нескольких адресов.

  5. enable_overlapping_ranges: флаг для включения или отключения проверки на перекрытие диапазонов IP-адресов.

Последовательность выполнения#

Можно установить с помощью Daemonset или Helm 3.

Примечание

В данном сценарии используется менеджер пакетов Helm. Данный инструмент не входит в состав продукта и требует дополнительной установки.

Установите плагин с помощью Daemonset:

git clone https://<repoexample.ru>/k8snetworkplumbingwg/whereabouts && cd whereabouts # Укажите актуальный путь до локального репозитория
oc apply \
    -f doc/crds/daemonset-install.yaml \
    -f doc/crds/whereabouts.cni.cncf.io_ippools.yaml \
    -f doc/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml

Установите плагин с помощью Helm:

git clone https://<repoexample.ru>/k8snetworkplumbingwg/helm-charts.git # Укажите актуальный путь до локального репозитория
cd helm-charts
helm upgrade --install multus ./multus  --namespace kube-system
helm upgrade --install whereabouts ./whereabouts --namespace kube-system

Helm установит crd и daemonset.

Результат#

Multus Whereabout CNI установлен и готов к использованию.