Отказоустойчивость сети Control Plane

Для обеспечения устойчивой сетевой связности между управляющими узлами в Control Plane в KeyStack предусмотрен механизм перенаправления трафика по альтернативному маршруту: если прямой сетевой путь между двумя Control-узлами становится недоступен, трафик автоматически направляется через другой Control-узел. Это позволяет сохранить сетевое взаимодействие при частичной потере связности.

Механизм включается параметром enable_control_plane_mesh в файле globals.d/bgp.yml репозитория региона и требует включённой службы BIRD, отвечающей за динамическую маршрутизацию. Перенаправление трафика через другой Control-узел возможно, если сетевые пути через него доступны.

Настройка конфигурации описана в разделе Настройка BGP.

Сетевая связность между Control-узлами

Между Control-узлами создаётся полносвязная сеть (full mesh) GRE-туннелей поверх сети управления. BGP-сессии устанавливаются между адресами GRE-туннелей. Каждый Control-узел анонсирует свой IP-адрес интерфейса управления с префиксом /32. Отдельные служебные IP-адреса для этого механизма не используются. Управление маршрутами выполняет служба BIRD.

В штатном режиме трафик между Control-узлами передаётся через прямой GRE-туннель:

Сетевая связность в штатном режиме

Сетевая связность в штатном режиме

При недоступности прямого GRE-туннеля BGP выбирает доступный альтернативный маршрут через другой Control-узел:

Сетевая связность при недоступности прямого пути

Сетевая связность при недоступности прямого пути

После восстановления туннеля BGP снова выбирает прямой маршрут. Переключение выполняется автоматически после обнаружения отказа и обновления маршрутов и не требует действий администратора.

Для доступа к сервисам Control Plane используются виртуальные IP-адреса (VIP). В конфигурации BGP Anycast VIP ими управляет ExaBGP, а BIRD распространяет маршруты VIP. Keepalived в этой конфигурации должен быть отключён:

enable_keepalived: "no"

Внутренние и внешние FQDN сервисов Control Plane должны разрешаться в соответствующие VIP. DNS-записи необходимо настроить в используемой инфраструктуре DNS.

При включённом blackbox-exporter на гипервизорах выполняется HTTP-проверка доступности Nova API по внутреннему FQDN Control Plane. Если этот FQDN разрешается во внутренний VIP, проверка позволяет контролировать доступность API через VIP со стороны гипервизоров. Результаты проверок собираются системой мониторинга.