Подготовка серверов для установки системы 5А

Процесс подготовки серверов к развёртыванию компонентов системы 5А включает стандартный набор действий, которые необходимо выполнить на каждом сервере, независимо от его роли (контроллер, агент балансировки, сетевой агент, GSLB).

В данном документе приведено общее описание этих шагов и их назначение. Детальные пошаговые инструкции с командами для каждой поддерживаемой операционной системы вы найдёте в соответствующих подразделах.

Для каких задач используются компоненты

  • SSH-ключи — обеспечивают безопасное беспарольное соединение между серверами, необходимое для автоматизации развёртывания и управления компонентами балансировщика.
  • Docker — используется для контейнеризации компонентов системы 5А. Это обеспечивает изоляцию, простоту обновления и единообразие окружения на всех поддерживаемых ОС.
  • systemd — служит init-системой для управления сервисами (Docker, FRR), их автозапуском и контролем состояния.
  • crontab — планировщик задач, используемый для выполнения регулярных операций (ротация логов, проверки состояния, обновление маршрутов).
  • FRR (Free Range Routing) — обеспечивает динамическую маршрутизацию по протоколам BGP, OSPF, VRRP, BFD. Эти протоколы необходимы для отказоустойчивой связности сетевых агентов балансировщика.
  • keepalived — обеспечивает работу VRRP для отказоустойчивости VIP-адресов. Система 5А управляет сервисом keepalived автоматически, требуется только установка пакета.

Общий порядок подготовки

На каждом сервере необходимо выполнить следующие шаги:

1. Настройка SSH-ключей

Беспарольный доступ между серверами (обычно от сервера развёртывания или контроллера к остальным узлам).

2. Настройка сетевого экрана (Firewall)

Открыть порты, необходимые для взаимодействия компонентов, согласно Требованиям к серверам. Если используется firewalld — настроить его.

3. Установка и настройка Docker

Установить Docker Engine, добавить пользователя в группу docker, включить автозапуск.

4. Проверка работы systemd

Убедиться, что в качестве init-системы используется systemd и система загружена не в аварийном режиме.

5. Проверка наличия crontab

Установить пакет cron или cronie и запустить службу.

6. Установка и настройка FRR

Установить пакеты frr и frr-pythontools, включить необходимые демоны (zebra, bgpd, ospfd, vrrpd, bfd), создать конфигурационные файлы и запустить сервис.

7. Установка keepalived

Установить пакет keepalived (версия ≥ 2.2). Сервисом управляет система 5А, дополнительная настройка не требуется.

8. Дополнительные настройки для отдельных ОС

Например, отключение SELinux на CentOS Stream 9/RedOS, настройка firewalld и т.п.

9. Финальная проверка

Убедиться, что Docker, FRR, SSH, systemd и crontab работают корректно, и все необходимые порты открыты.

Инструкции для конкретных операционных систем

Выберите операционную систему вашего сервера и следуйте соответствующей инструкции:

ℹ️

Если ваш сервер работает под управлением другой ОС, совместимой с Debian/Red Hat семействами, вы можете использовать инструкцию для наиболее близкого дистрибутива, адаптируя команды пакетного менеджера.

Финальная проверка перед развёртыванием приложения

После выполнения всех шагов для вашей ОС проверьте:

  • Docker работает: docker info (без ошибок, пользователь в группе docker).
  • FRR запущен: systemctl status frr (активен, нет ошибок).
  • SSH-ключи настроены: ssh user@remote_server не запрашивает пароль.
  • systemd используется: ps -p 1 -o comm= → systemd.
  • crontab доступен: sudo crontab -l выполняется без ошибок.
  • Порты открыты: проверьте, что на всех серверах разрешены входящие соединения на порты из Таблицы 1.