Инструкция по установке компонентов
Процесс установки системы 5А происходит в несколько этапов:
-
Сначала происходит подготовка инсталлятора к процедуре развёртывания, которая включает в себя распаковку, настройку прав и формирование файла конфигурации.
-
Далее выберите способ развёртывания:
-
Выполните проверку установки.
После успешной установки перейдите в интерфейс системы 5А и создайте необходимые объекты внутри системы.
Каждый компонент системы 5А может быть развёрнут как на виртуальном сервере, так и на физическом сервере. Данное руководство предполагает, что развёртывание производится на виртуальных серверах.
Допустима установка компонентов системы 5А как отдельно на каждый виртуальный сервер, так и несколько компонентов на одном виртуальном сервере.
Распаковка файлов
-
Войдите на сервер развёртывания под подходящей учётной записью пользователя.
-
Загрузите файл дистрибутива системы 5А
installator.tar.gzили смонтируйте диск с ним. -
Разархивируйте файл дистрибутива системы 5А:
tar -zxf installator.tar.gz -
Настройте права для запуска файла инсталлятора
install.sh(для способа 1):chmod +x install.shДля способа 2 права на
installer-uiвыставлять не требуется.
После распаковки в директории появятся файлы:
install.sh— скрипт для установки через командную строку;installer-ui— исполняемый файл для запуска веб-интерфейса мастера установки;repo— директория с компонентами системы;inventory.yml— файл конфигурации (заполняется вручную при способе 1 или автоматически при способе 2).
Способ 1. Установка через файл конфигурации (inventory.yml)
Этот способ предполагает ручное заполнение файла inventory.yml и запуск инсталлятора из командной строки.
Заполнение файла конфигурации
Заполните файл конфигурации inventory.yml.
Файл используется системой автоматизации Ansible для определения серверов, на которые будет выполняться развёртывание компонентов системы, а также для задания необходимых параметров подключения и конфигурации.
Файл конфигурации состоит из следующих разделов:
all.vars— глобальные параметры подключения, применяемые ко всем серверам.all.hosts— основные компоненты системы в её минимальной конфигурации.all.children— подключаемые модули: модули балансировки (агенты), GSLB-серверы и сетевые агенты, а также опциональные модули SNMP и LLDP.
Глобальные параметры подключения
В секции all.vars укажите данные пользователя, под которым будут выполняться действия по развёртыванию компонентов системы 5А.
all:
vars:
ansible_user: user
ansible_become_pass: P@$$w0rdansible_user— логин пользователя.ansible_become_pass— пароль пользователя.
Основные компоненты системы
Секция Основные компоненты системы, которая содержит описание для развёртывания следующих компонентов:
- backend — бэкенд системы 5А;
- frontend — фронтенд системы 5А;
- postgres — база данных системы 5А;
- orchestrator — оркестратор системы 5А;
- monitoring — средства мониторинга системы 5А;
- redis — база данных Redis, обеспечивающая консистентность GSLB-серверов и корректную работу алгоритмов в правилах, определяющих логику обработки DNS-запросов.
Каждый компонент системы описывается как отдельный сервер (хост).
Обязательным условием для установки компонента системы является указание IP-адреса целевого сервера в параметре ansible_host.
Если адрес не будет указан у компонента, то он не будет установлен в ходе общей установки системы.
Для средств мониторинга рекомендуется использование адреса IPv4.
all:
hosts:
backend:
ansible_host: backend.example.com
initial_user_login: admin
initial_user_password: P@$$w0rd
# control_sync_peer_host: <IP-адрес_синхронизации> # IP-адрес для синхронизации между бэкендами в кластере
# internal_ca_file: "sub_ca.crt" # имя файла сертификата в repo/certs/ (если пусто, то генерируется при первой установке)
# internal_ca_key_file: "sub_ca.key" # имя файла ключа в repo/certs/
frontend:
ansible_host: frontend.example.com
# frontend_fqdn: "admin.5a.internal" # FQDN веб-интерфейса
# frontend_https_port: 8443 # порт веб-интерфейса
# frontend_cert_file: "web.crt" # имя файла сертификата в repo/certs/ (если пусто, то генерируется при первой установке)
# frontend_key_file: "web.key" # имя файла ключа в repo/certs/
postgres:
ansible_host: postgres.example.com
postgres_user: postgres
postgres_password: P@$$w0rd
# postgres_port: 5432 # значение по умолчанию
orchestrator:
ansible_host: orchestrator.example.com
monitoring:
ansible_host: monitoring.example.com
redis:
ansible_host: redis.example.com
redis_password: P@$$w0rd
# redis_port: 6379 # значение по умолчанию-
backend— настройки бэкенда системы 5А:-
ansible_host— IP-адрес или домен бэкенда. -
initial_user_login— логин для первичного пользователя системы 5А, который будет автоматически создан при её развёртывании. Этот пользователь получает права администратора и предназначен для входа в систему 5А и её начальной настройки. -
initial_user_password— пароль для первичного пользователя, указанного вinitial_user_login. В целях безопасности рекомендуется изменить пароль после первого входа в систему 5А.⚠️Важно: Пароль должен соответствовать следующим требованиям безопасности:
-
Длина:
- Не менее 12 символов для обычных пользователей.
- Не менее 14 символов для администраторов, т.е. пользователей со включённой опцией "Полный доступ".
- Максимальная длина — 72 символа.
-
Сложность: пароль должен содержать как минимум три из четырех категорий символов:
- прописные буквы (A–Z),
- строчные буквы (a–z),
- цифры (0–9),
- специальные символы (!@#$%^&*()_+-=[]<>?,. и т. д.).
-
Запрещено:
- Использовать пустой пароль.
- Включать в пароль имя пользователя или его часть.
Если имя пользователя содержит более 3 символов, то запрещена любая подстрока из 6 последовательных символов из него.
Например, для пользователя
testingнедопустим пароль видаtestin123.
-
-
control_sync_peer_host(опционально) — IP-адрес для синхронизации между бэкендами в кластере. Используется для обеспечения согласованности данных между несколькими экземплярами бэкенда. -
internal_ca_file(опционально) — имя файла CA-сертификата в каталогеrepo/certs/. Если не указан, система сгенерирует самоподписанный сертификат при первой установке. -
internal_ca_key_file(опционально) — имя файла приватного ключа CA в каталогеrepo/certs/. Если не указан, система сгенерирует ключ при первой установке.
-
-
frontend— настройки фронтенда системы 5А:ansible_host— IP-адрес или домен фронтенда.frontend_fqdn(опционально) — полное доменное имя для веб-интерфейса (FQDN). Используется для генерации сертификатов и корректной работы HTTPS.frontend_https_port(опционально) — порт для HTTPS-доступа к веб-интерфейсу. Если не указан, используется порт8443.frontend_cert_file(опционально) — имя файла TLS-сертификата в каталогеrepo/certs/. Если не указан, система сгенерирует самоподписанный сертификат при первой установке.frontend_key_file(опционально) — имя файла приватного ключа TLS-сертификата в каталогеrepo/certs/. Если не указан, система сгенерирует ключ при первой установке.
-
postgres— настройки базы данных PostgreSQL:ansible_host— IP-адрес или домен базы данных.postgres_user— логин пользователя базы данных.postgres_password— пароль пользователя базы данных.postgres_port(опционально) — порт для подключения к PostgreSQL. Если не указан, используется порт5432.
-
orchestrator— настройки оркестратора:ansible_host— IP-адрес или домен оркестратора.
-
monitoring— настройки средств мониторинга:ansible_host— IP-адрес или домен средств мониторинга.
-
redis— настройки базы данных Redis:ansible_host— IP-адрес или домен базы данных Redis.redis_password— пароль для доступа к Redis.redis_port(опционально) — порт для подключения к Redis. Если не указан, используется порт6379.
Подключаемые модули
Секция Подключаемые модули, которая содержит описание для развёртывания модулей системы:
- 5a-agent — модуль балансировки (агент) системы 5А. Какие функции выполняет агент, задаётся его ролями: SLB, GSLB и сетевой агент. На одном хосте можно включить любое их сочетание.
- snmp — (опционально) секция
snmpпозволяет настроить SNMP-агента на серверах системы балансировки для сбора метрик и интеграции с системами мониторинга (например, Zabbix, Prometheus). - lldp — (опционально) секция
lldpпозволяет настроить демон LLDP, который рассылает информацию о хосте соседним сетевым устройствам (коммутаторам, маршрутизаторам) и получает от них аналогичные данные.
Система поддерживает установку нескольких модулей одного типа, при этом каждый модуль системы описывается как отдельный сервер (хост). Обязательными условиями для установки модуля являются:
- указание IP-адреса целевого сервера в параметре
ansible_host. Если адрес не будет указан, модуль не будет установлен. - для модулей из группы
5a-agentнеобходимо указать:- какие функции запускать:
run_slb: true— если агент будет использоваться для L4/L7 балансировки;run_gslb: true— если агент будет использоваться для GSLB;run_net: true— если агент будет выполнять функции сетевого агента.
- идентификаторы кластеров:
slb_cluster_id— название SLB-кластера, к которому будет принадлежать агент. Если кластер с таким именем ещё не существует, он будет создан автоматически. Название может быть произвольной строкой (например, «slb-cluster-1»). Обязателен, еслиrun_slb: true.gslb_cluster_id— название GSLB-кластера. Обязателен, еслиrun_gslb: true.- адреса хранилища Redis, в котором GSLB-серверы хранят общее состояние:
redis_address— сетевой адрес сервера Redis в форматеадрес:порт. Обязателен, еслиrun_gslb: true.redis_password— пароль доступа к Redis. Без него инсталлятор остановит установку с ошибкой.
net_cluster_id— название кластера для агента, у которого включена только роль сетевого агента (run_net: true, остальные роли выключены). Когда на хосте есть также SLB или GSLB, сетевой агент присоединяется к их кластеру и отдельный идентификатор не нужен.
- какие функции запускать:
- разделение управления и рабочего трафика задаётся параметрами
network_preset,data_ipиdata_interface— см. Разделение управления и рабочего трафика.
children:
5a-agent:
hosts:
node1:
ansible_host: 123.123.123.123
run_slb: true
run_gslb: true
run_net: true
slb_cluster_id: "slb-example-cluster-id"
gslb_cluster_id: "gslb-example-cluster-id"
# Можно добавить несколько агентов, например:
node2:
ansible_host: 123.123.123.124
data_ip: 10.10.10.12 # адрес рабочего трафика
data_interface: eth1 # интерфейс рабочего трафика
run_slb: true
run_gslb: false
run_net: true
slb_cluster_id: "slb-example-cluster-id"
# Хост только с ролью сетевого агента:
node3:
ansible_host: 123.123.123.126
run_slb: false
run_gslb: false
run_net: true
net_cluster_id: "slb-example-cluster-id"
# snmp:
# hosts:
# snmp1:
# ansible_host:
# snmpv3_user: snmpadmin
# snmpv3_auth_pass: SuperSecretAuth
# snmpv3_priv_pass: UltraSecretPriv
# snmp_udp_port: 161
# sys_location: "Server Room 1"
# sys_contact: "ops@example.com"
#
# lldp:
# hosts:
# lldp1:
# ansible_host:
# lldp_interfaces: ""
# lldp_management_ip: ""
# lldp_snmp_socket: "udp:127.0.0.1:161"
# lldp_hidden_neighbor_filter: 15Параметры модулей балансировки из списков ниже необязательны: значения по умолчанию подходят для типового развёртывания. Задавайте их в секции vars группы 5a-agent, если настройка должна действовать на все агенты, или в конкретном хосте — если только на него.
Для настройки портов управления укажите значения для параметров:
agent_grpc_port— порт gRPC, на котором агент получает конфигурацию от оркестратора, по умолчанию50051.agent_http_port— порт HTTP, на котором агент отвечает на проверки состояния и отдаёт метрики, по умолчанию50050. Если меняете порт, синхронно измените его в правилах firewall, см. Требования к серверам.
Для настройки балансировки укажите значения для параметров:
slb_dns_resolver_list— IP-адреса DNS-серверов, которые балансировщик использует для разрешения имён целевых хостов. Список применяется как на уровне L4 (балансировка по портам), так и на уровне L7 (HTTP/HTTPS/gRPC). Указываются через запятую без пробелов, например203.0.113.6,203.0.113.7. Тот же параметр задаётся в формах добавления агента и добавления кластера в поле DNS-серверы.slb_hc_interval— интервал активной проверки доступности агентов внутри кластера балансировки, по умолчанию1s. Увеличение интервала снижает нагрузку от взаимных проверок в больших кластерах.slb_restart_after_minиslb_restart_after_max— границы интервала, по которому агент перезапускает балансировщик, по умолчанию3sи1m.slb_stabilize_after— время, по которому агент ждёт после запуска балансировщика, прежде чем считать его работающим, по умолчанию30s. Увеличьте значение, если балансировщик запускается и сразу завершается: интервал между перезапусками растёт.gslb_ip_hash_ttl— время в секундах, на которое правило IP Hash удерживает клиента на одном и том же сервере, по умолчанию300. Срок общий для всех GSLB-серверов кластера, поэтому задавайте значение одинаковым.gslb_rtt_interval— как часто GSLB-сервер пересчитывает время отклика до серверов, по умолчанию3s.gslb_rtt_timeout— сколько ждать ответа при замере времени отклика, по умолчанию1s. Если каналы до серверов медленные, увеличьте значение: иначе замер не успевает завершиться, сервер получает худшее время отклика, и правило RTT направит трафик на другой сайт.
Для настройки журналирования укажите значения для параметров:
log_level— уровень журналирования агента:fatal,error,warn,infoилиdebug. По умолчаниюinfo.log_format— формат вывода журнала в поток STDOUT:consoleилиjson. По умолчаниюconsole.syslog_servers— адреса syslog-серверов, в которые агент отправляет журнал. Каждый адрес указывается в форматеprotocol://host:port, где вместоprotocolуказываетсяtcpилиudp. Принимает список значений.otlp— адрес OTLP-сервера в форматеhost:port. Включает отправку данных распределённой трассировки, например в Jaeger.
Для настройки snmp укажите значения для параметров:
snmpv3_user— имя пользователя SNMPv3. Используется для аутентификации при запросах к агенту.snmpv3_auth_pass— пароль для аутентификации (Authentication Passphrase).snmpv3_priv_pass— пароль для шифрования (Privacy Passphrase).snmp_udp_port— UDP-порт, на котором работает SNMP-агент.sys_location— физическое расположение устройства, которое отображается в MIB.sys_contact— контактная информация администратора (email или имя), которая отображается в MIB.
Агент отвечает по SNMPv3: инсталлятор создаёт пользователя с аутентификацией SHA и шифрованием AES, доступ по SNMPv1 и SNMPv2c не настраивается. В SNMP-менеджере укажите то же имя пользователя и пароли, выбрав протокол аутентификации SHA и протокол шифрования AES.
Для настройки lldp укажите значения для параметров:
lldp_interfaces— список сетевых интерфейсов, на которых будет работать LLDP. Указывается через запятую, например: "eth0,eth1". Если параметр пустой, LLDP активируется на всех доступных интерфейсах.lldp_management_ip— IP-адрес управления, который будет объявляться в TLV Management Address пакетов LLDP. Если не указан, используется первый IP-адрес из доступных интерфейсов.lldp_snmp_socket— адрес сокета SNMP-агента, к которому подключается LLDP для предоставления своих данных через MIB. Обычно указывается на локальный SNMP-демон с тем же портом, что указан в блокеsnmpв параметреsnmp_udp_port.lldp_hidden_neighbor_filter— время в секундах, в течение которого сосед считается "скрытым", но ещё не удалён из таблицы. После истечения этого времени сосед удаляется, если не было новых объявлений.
Запуск инсталлятора
После распаковки файлов и заполнения файла конфигурации запустите инсталлятор — скрипт install.sh.
В качестве первого аргумента укажите тип установки компонентов:
all— полная установка всех компонентов согласно параметрам из всех секций файла конфигурации.system— установка только основных компонентов системы.agent— установка только подключаемых модулей (агентов, GSLB-серверов, сетевых агентов) согласно конфигурации из секции "подключаемые модули".uninstall— деинсталляция всех компонентов системы.
В качестве второго аргумента укажите абсолютный путь к приватному SSH-ключу пользователя. Убедитесь, что приватный SSH-ключ пользователя валиден на всех целевых серверах.
./install.sh all /home/johndoe/.ssh/id_rsaДождитесь окончания работы инсталлятора.
Важно: Не удаляйте файл конфигурации inventory.yml после завершения развёртывания системы. Он необходим для повторных запусков инсталлятора после изменения набора подключаемых модулей, а также для удаления системы.
Способ 2. Установка через веб-интерфейс (UI-инсталлятор)
Этот способ предполагает пошаговую установку через мастер в веб-интерфейсе. Инсталлятор автоматически заполнит файл конфигурации inventory.yml на основе введённых данных.
-
Выполните распаковку файлов.
-
Из директории с распакованным дистрибутивом выполните команду:
./installer-ui -
В терминале появится сообщение с адресом для доступа к мастеру установки. Откройте указанный адрес в браузере.
-
Следуйте пошаговым инструкциям мастера установки.
Подробное описание всех шагов мастера установки приведено в отдельной статье:
Установка системы через веб-интерфейс (UI-инсталлятор)
Добавление модулей балансировки
Новый модуль балансировки (агент) можно добавить в систему 5А двумя способами:
- через повторный запуск инсталлятора на сервере развёртывания,
- через запуск утилиты
agentна целевом сервере.
Добавление модулей доступно как для систем, установленных через файл конфигурации, так и через UI-инсталлятор.
Через инсталлятор
-
Войдите на сервер развёртывания под подходящей учётной записью пользователя.
-
Перейдите в директорию с распакованным ранее дистрибутивом системы 5А.
-
Отредактируйте файл конфигурации
inventory.yml, добавив в него один или несколько новых модулей балансировки в разделеall.children.5a-agent.hosts, см. Подключаемые модули. Например:all: children: 5a-agent: hosts: node1: ansible_host: 123.123.123.123 run_slb: true run_gslb: false run_net: true slb_cluster_id: my-slb-cluster node2: ansible_host: 123.123.123.124 run_slb: true run_gslb: false run_net: true slb_cluster_id: my-slb-cluster node3: ansible_host: 123.123.123.125 run_slb: true run_gslb: true run_net: true slb_cluster_id: my-slb-cluster gslb_cluster_id: my-gslb-cluster -
Откройте терминал и запустите инсталлятор
install.sh.В качестве первого аргумента укажите
agent.В качестве второго аргумента укажите абсолютный путь к приватному SSH-ключу пользователя. Убедитесь, что приватный SSH-ключ пользователя валиден на всех целевых серверах.
./install.sh agent /home/johndoe/.ssh/id_rsa
Через утилиту agent
-
Подготовьте целевой сервер согласно требованиям.
-
Войдите на целевой сервер под подходящей учётной записью пользователя.
-
Распакуйте дистрибутив системы 5А или смонтируйте директорию с ним.
-
Запустите исполняемый файл агента
agentс набором параметров:--orchestrator-address— сетевой адрес оркестратора, который был указан при развёртывании системы 5А.--slb-cluster-id— название кластера балансировки, к которому будет добавлен модуль балансировки. Если кластер с таким названием отсутствует, он будет создан.--bind-address— сетевой адрес сервера агента. Может быть указан IP одного из доступных извне сетевых интерфейсов на вашем сервере.--bind-grpc-port— порт для gRPC-сервера агента.--run-slb— включить функционал модуля балансировки.
ℹ️При удалённом запуске файла агента нужно в параметре
--bind-addressуказать IP того сервера, на котором должен быть балансировщик, и на этот сервер по указанному IP можно попасть извне. Например, IP127.0.0.1, который привязан к интерфейсуlo, не подойдёт.--log-level— максимальный уровень критичности событий, фиксируемых в системном журнале. Доступные варианты:fatal,error,warn,info,debug.--log-format— формат вывода системного журнала в поток STDOUT. Доступные варианты:json,console.--log-syslog-servers— сетевой адрес и порт syslog-сервера, на котором хранятся данные системного журнала. Указывается в форматеprotocol://host:port. В качестве протокола укажитеtcpилиudp. Можно указать несколько серверов через запятую.-
--otlp-address— сетевой адрес и порт OTLP-сервера. Включает использование системы распределённого трассирования (например, Jaeger). --install-as-system-unit— установить агент как systemd-юнит и запустить как сервис.
Пример команды:
sudo ./agent \ --bind-address agent-3.example.com \ --bind-grpc-port 50051 \ --orchestrator-address orchestrator.example.com:50052 \ --slb-cluster-id my-slb-cluster \ --log-level info \ --log-format console \ --log-syslog-servers udp://203.0.113.255:1514 \ --run-slbℹ️Сгенерировать команду можно через веб-интерфейс с помощью формы добавления агента.
Файл конфигурации агента
Установленный агент хранит настройки в файле /etc/5a/agent.yml. Это текстовый файл в формате YAML: в нём записаны те же параметры, что и в командной строке, но с полными именами и в виде вложенных разделов.
Файл не входит в дистрибутив, и агент его не создаёт. Его создаёт инсталлятор на целевом сервере — из параметров, заданных в inventory.yml, см. Подключаемые модули. Агент файл только читает и никуда в него не пишет. Путь к файлу указан в команде запуска службы: ExecStart=/usr/local/bin/5a-agent -c /etc/5a/agent.yml. При ручном запуске агента путь к файлу передаётся параметром -c, а настройки, которых в файле нет, — параметрами командной строки.
Перед правками файла учтите, что инсталлятор переписывает его целиком при каждом запуске, и всё, что инсталлятор в него не записывает, из файла исчезает. Поэтому у любого параметра два разных пути:
- Параметр есть в
inventory.yml. Задавайте его вinventory.ymlи запускайте инсталлятор повторно. Настройка переживёт и повторный запуск инсталлятора, и установку обновления. - Параметра в
inventory.ymlнет. Правьте/etc/5a/agent.ymlнапрямую. Настройка действует, пока инсталлятор не запустят снова: после повторного развёртывания или установки обновления файл создаётся заново, и правку нужно внести ещё раз.
Второй путь касается трёх групп параметров:
net.transparency— параметры маршрутизации прозрачного трафика: имя таблицыnftables, меткаfwmark, номер таблицы маршрутизации и приоритет правилаip rule. Значения по умолчанию рассчитаны на хост, где эти метки и таблицы больше никто не использует. Описание и порядок проверки — в статье Настройка IP Transparency.net.keepalived.garp— параметры анонсов GARP в состоянии MASTER. Нужны, если после переключения VRRP часть клиентов продолжает отправлять трафик на прежний адрес. Описание — в статье Настройка VRRP.slb.traffic_copy_buffer— пределы временного хранения копий трафика, общие для ICAP-анализа и зеркалирования:memory_limit_mb— лимит памяти,disk_limit_mb— лимит временных файлов,max_single_copy_mb— размер одной копии,max_body_in_memory_kb— порог хранения тела в памяти,min_free_disk_percent— минимальный свободный остаток диска. Нулевые значения означают автоматический расчёт по ресурсам узла. Лимитmax_single_copy_mbограничивает предел тела зеркальной копии, см. Зеркалирование трафика сервиса.
После правки перезапустите службу агента:
sudo systemctl restart 5a-agentВажно: агент не запустится, если значение параметра выходит за допустимый диапазон. Если служба не стартовала, причина — в её журнале: journalctl -u 5a-agent. После запуска агент должен появиться в списке на вкладке Агенты.
Добавление GSLB-сервера
-
Подготовьте целевой сервер согласно требованиям.
-
Войдите на целевой сервер под подходящей учётной записью пользователя.
-
Распакуйте дистрибутив системы 5А или смонтируйте директорию с ним.
-
Запустите исполняемый файл агента
agentс включённой ролью GSLB:--orchestrator-address— сетевой адрес оркестратора, который был указан при развёртывании системы 5А.--gslb-cluster-id— название кластера балансировки, к которому будет добавлен GSLB-сервер. Если кластер с таким названием отсутствует, он будет создан.--bind-address— сетевой адрес сервера для установки GSLB-сервера.--bind-grpc-port— порт gRPC-сервера агента.--gslb-net-dns-port— порт, на котором агент принимает DNS-запросы. По умолчанию53.--gslb-net-dns-address— сетевой адрес, на котором агент принимает DNS-запросы. Параметр опциональный.--log-level— максимальный уровень критичности событий, фиксируемых в системном журнале. Доступные варианты:fatal,error,warn,info,debug.--log-syslog-servers— сетевой адрес и порт syslog-сервера, на котором хранятся данные системного журнала. Указывается в форматеprotocol://host:port. В качестве протокола укажитеtcpилиudp. Можно указать несколько серверов через запятую.--gslb-redis-address— сетевой адрес сервера в форматеадрес:порт, на котором развёрнута база данных Redis, обеспечивающая консистентность GSLB-серверов и корректную работу алгоритмов в правилах, определяющих логику обработки DNS-запросов.--gslb-redis-password— пароль для доступа к базе данных Redis.--install-as-system-unit— установить агент как systemd-юнит и запустить как сервис. Параметр опциональный.--run-gslb— включить функционал GSLB.
Параметры перечисляются через пробел, перед названием параметра указывается
--, значение параметра указывается в кавычках.Пример запуска:
sudo ./agent \ --orchestrator-address "orchestrator.example.com:50052" \ --gslb-cluster-id "my-gslb-cluster" \ --bind-address "203.0.113.8" \ --bind-grpc-port 50051 \ --gslb-net-dns-port 53 \ --log-level "info" \ --log-syslog-servers "udp://172.27.1.16:1514" \ --gslb-redis-address "203.0.113.20:6379" \ --gslb-redis-password "P@ssw0rd" \ --run-gslbℹ️Сгенерировать команду можно через веб-интерфейс с помощью формы добавления GSLB сервера.
При развёртывании через инсталлятор GSLB-сервер добавляется в группу
all.children.5a-agent.hostsс параметрамиrun_gslb: true,gslb_cluster_id: <id>,redis_address: <адрес:порт>иredis_password: <пароль>. Без адреса и пароля Redis инсталлятор останавливает установку с ошибкой. Полный список параметров модуля — в разделе Подключаемые модули.
Проверка развёртывания
Для первичной проверки корректности развёртывания системы 5А выполните следующие шаги:
-
В консоли выполните GET-запрос
/healthcheckк бэкенду. Используйте IP-адрес, указанный в параметреall.hosts.backend.ansible_host, см. Основные компоненты системы.curl http://backend.example.com:9000/api/v1/healthcheckУбедитесь, что для каждого сервера в полученном ответе в поле
successуказано значениеtrue. -
В консоли выполните GET-запросы
/gslb/healthк каждому из серверов GSLB. Используйте IP-адреса, указанные в параметрахall.children.5a-agent.hosts.*.ansible_host, см. Подключаемые модули.curl http://203.0.113.8:50050/gslb/healthУбедитесь, что для каждого сервера в полученном ответе в поле
successуказано значениеtrue. -
В браузере откройте фронтенд 5А. Используйте IP-адрес и порт, указанные в параметрах
all.hosts.frontend, см. Основные компоненты системы. -
Войдите в систему, используя логин и пароль из настроек компонента
backend, см. Основные компоненты системы.⚠️В случае пяти неудачных попыток ввода пароля аккаунт будет временно заблокирован для защиты от перебора паролей. Блокировка автоматически снимается через 10 минут. Повторные попытки авторизации с неверным паролем приведут к продлению срока блокировки.
-
В боковом меню выберите Состояние системы.
Убедитесь, что для каждого компонента указан статус OK.
-
В боковом меню выберите База знаний.
Убедитесь, что встроенная база знаний о системе доступна.
-
Перейдите по адресу
https://<Адрес_сервера_бэкенда>:8443/api/v1/docs.Убедитесь, что справочник API доступен.
Удаление системы
Для удаления системы 5А выполните следующие шаги:
-
Войдите на сервер развёртывания под учётной записью, от которой выполнялась установка.
-
Перейдите в директорию с распакованным дистрибутивом (там, где находится файл
install.sh). -
Выполните команду удаления, передав пароль SSH для доступа к целевым серверам:
SSH_PASSWORD=<пароль> ./install.sh uninstallГде
<пароль>— пароль пользователя, используемый для SSH-подключения к серверам.
Важно: команда удаления остановит и удалит все компоненты системы 5А с целевых серверов. Данные, созданные в процессе работы системы (конфигурации, логи, пользовательские настройки), будут удалены без возможности восстановления. Перед выполнением убедитесь, что вы создали резервные копии необходимых данных.
После завершения удаления система будет полностью деинсталлирована.
Дальнейшие шаги
Для полноценного запуска системы 5А администратору нужно:
-
В Центре лицензирования системы 5А добавить актуальную лицензию на использование системы и затем активировать её.
-
Настроить в каждом кластере балансировки свои конфигурации балансировки трафика к пользовательским сервисам. При необходимости расширить конфигурацию настройками безопасности и обработки трафика.
-
Добавить пользователей и выдать им права доступа для управления ресурсами системы 5А.