Сетевая архитектура KeyStack¶
Обзор сетевой архитектуры¶
В референсной архитектуре KeyStack предлагается использовать OpenvSwitch (OVS) или Open Virtual network (OVN) для управления сетевой инфраструктурой в OpenStack-облаке. OVS работает по классической схеме с использованием L2/L3/DHCP агентов на каждом узле и взаимодействием через RabbitMQ. OVN является "надстройкой" над OVS и управляет сетью через собственную распределённую базу данных без использования отдельных агентов, что сокращает нагрузку на RabbitMQ и повышает масштабируемость.
OVS (ML2/OVS) |
OVN (OVS+OVN) |
|
|---|---|---|
Плюсы |
|
|
Минусы |
|
|
Маршрутизация трафика виртуальной инфраструктуры во внешние сети¶
Для примера на схеме отображены два варианта маршрутизации:
Трафик VM1, VM6 маршрутизируется через Gateway-узлы при помощи SNAT.
На виртуальные машины VM3, VM4, VM5 назначен Floating IP (назначаемый внешний адрес), и их трафик проходит напрямую во внешнюю сеть без Gateway-узлов.
Маршрутизация трафика виртуальной инфраструктуры¶
Дополнительные сетевые функции KeyStack¶
Фильтрация трафика¶
Фильтрация сетевого трафика между узлами и сервисами в KeyStack работает на основе nftables — современного инструмента для управления сетевым трафиком в Linux. Единая архитектура и гибкая модель построения правил nftables обеспечивают эффективный контроль и ограничение трафика в соответствии с политиками безопасности и требованиями инфраструктуры.
Официальная страница проекта https://wiki.nftables.org.
Управление правилами фильтрации для узлов и сервисов описано в разделе Настройка механизма фильтрации трафика.
Сервис LBaaS¶
В KeyStack реализован сервис LBaaS. Сервис LBaaS построен на основе OpenStack Octavia и предоставляет сетевые балансировщики как сервис.
Балансировщики нагрузки как сервис (LBaaS)¶
Octavia позволяет создавать балансировщики в виртуальных машинах, контейнерах или на baremetal, а также поддерживает следующие типы балансировки:
HTTP-балансировка
HTTP-балансировка с health-монитором
Session-persistent HTTP-балансировка
TCP-балансировка
UDP-балансировка
QoS ruled-балансировка
Балансировка с ACL по IP
Non-terminated HTTPS-балансировка
TLS-terminated HTTPS-балансировка
TLS-terminated HTTPS-балансировка с SNI
TLS-terminated HTTPS-балансировка с аутентификацией
HTTP/2-балансировка с ALPN TLS-расширением
Другие режимы балансировки