В Deckhouse Kubernetes Platform (DKP) поддерживается добавление в кластер дополнительных программно-определяемых сетей (SDN, Software-Defined Networking). Функции дополнительных программно-определяемых сетей (далее — дополнительные сети) в рамках DKP реализуются с помощью модуля sdn.
Программно-определяемые сети в DKP позволяют декларативно управлять дополнительными сетевыми сегментами для прикладных нагрузок (поды, виртуальные машины). Вместо ручной настройки сетевых интерфейсов на каждом узле кластера, администратор описывает желаемое состояние сети через кастомные ресурсы Kubernetes, а модуль sdn автоматически настраивает необходимое сетевое оборудование.
DKP поддерживает следующие возможности по работе с программно-определяемыми сетями:
- Конфигурация сетевых интерфейсов на узлах. Поддерживаются такие функции, как агрегация портов, объединение сетевых интерфейсов в бридж, настройка VLAN-интерфейсов.
- Дополнительные сети для прикладных нагрузок. Поддерживается добавление в кластер дополнительных программно-определяемых сетей: общедоступных в каждом проекте (кластерные), а также доступных в рамках одного неймспейса (сети проекта).
- IPAM для дополнительных сетей. Механизм позволяет выделять IP-адреса (поддерживаются IPv4-адреса) из пулов и назначать их на дополнительные сетевые интерфейсы подов, подключаемых к кластерным сетям и сетям проекта.
- Underlay-сети для проброса аппаратных устройств. Это позволяет приложениям DPDK и другим высокопроизводительным рабочим нагрузкам получать прямой доступ к физическим сетевым интерфейсам (PF/VF), обходя сетевой стек ядра.
- Системные сети (сервисные сети на узлах). Предназначены для служебного трафика на уровне узлов и не используются как дополнительные сети подов. Создаются поверх существующих underlay-сетей.