Для обеспечения устойчивой сетевой связности между управляющими узлами в Control Plane в KeyStack предусмотрен механизм перенаправления трафика по альтернативному маршруту: если прямой сетевой путь между двумя Control-узлами становится недоступен, трафик автоматически направляется через другой Control-узел. Это позволяет сохранить сетевое взаимодействие при частичной потере связности.
Механизм включается параметром enable_control_plane_mesh в файле globals.d/bgp.yml репозитория региона и требует включённой службы BIRD, отвечающей за динамическую маршрутизацию. Перенаправление трафика через другой Control-узел возможно, если сетевые пути через него доступны.
Настройка конфигурации описана в разделе Настройка BGP.
Между Control-узлами создаётся полносвязная сеть (full mesh) GRE-туннелей поверх сети управления. BGP-сессии устанавливаются между адресами GRE-туннелей. Каждый Control-узел анонсирует свой IP-адрес интерфейса управления с префиксом /32. Отдельные служебные IP-адреса для этого механизма не используются. Управление маршрутами выполняет служба BIRD.
В штатном режиме трафик между Control-узлами передаётся через прямой GRE-туннель:
После восстановления туннеля 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 со стороны гипервизоров. Результаты проверок собираются системой мониторинга.