Подготовка узлов#
На этом этапе необходимо подготовить узлы для развертывания Astra Automation с учетом выбранной топологии.
Подготовка узлов под каждый компонент платформы не имеет принципиальных отличий, однако требования к свободному дисковому пространству различаются. Кроме узлов для развертывания компонентов платформы потребуется также создание и настройка внешних ресурсов.
Общие требования#
Фактический список узлов для развертывания платформы и их технические характеристики определяются требованиями к отказоустойчивости, обеспечению высокой доступности и быстродействию.
Типовые системные требования к вычислительным ресурсам каждого узла:
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Количество ядер CPU |
4 |
≥ 8 |
Объем RAM, ГБ |
16 |
≥ 16 |
Тип дискового накопителя |
SSD |
SSD |
Производительность, IOPS |
3000 |
≥ 3000 |
Тип OS |
1.7.7.UU2 |
1.8.4 |
Версия ядра OS |
|
|
Режим защищенности OS |
|
|
Примечание
Требуемый объем свободного дискового пространства зависит от компонента и представлен далее в соответствующих секциях.
Дополнительные требования:
Все узлы должны иметь постоянные IP-адреса или доменные имена. От этого зависит способ идентификации узлов в файле инвентаря.
Рекомендуется обеспечить передачу данных между всеми узлами плоскости управления Automation Controller с минимальными задержками.
Обеспечьте синхронизацию времени через NTP/Chrony на всех узлах для обеспечения корректных временных меток событий в журналах.
Узлы, используемые для развертывания Private Automation Hub, должны быть доступны с других узлов, входящих в состав развертываемой платформы. В противном случае некоторые узлы не смогут использовать содержимое, хранящееся в Private Automation Hub.
При развертывании без доступа к интернету (с помощью Offline Bundle) зарезервируйте на каждом узле не менее 10 ГБ свободного дискового пространства для хранения установочных файлов платформы.
На всех узлах используется одна и та же версия ОС.
Установленная на узлах ОС не должна содержать пакеты графического интерфейса.
Если для развертывания платформы используются виртуальные машины, создавайте их на основе образов без пакетов поддержки графического интерфейса.
Такие образы, созданные ПАО Группа Астра, не содержат в названии поле
-gui. Подробности см. в документации универсальных базовых образов Astra Linux.Если вы устанавливаете ОС вручную, на этапе выбора компонентов выключите флаг Графический интерфейс Fly.
Если вы устанавливаете ОС в автоматическом режиме, удалите из файла ответов строки, требующие установки графических пакетов.
Astra Linux Special Edition 1.7 использует для автоматической установки утилиту
debian-installer. Файл ответов называетсяpreseed.cfg. Порядок его создания описан в статье Справочного центра Автоматическая установка Astra Linux Special Edition 1.7.Astra Linux Special Edition 1.8 использует для автоматической установки утилиту
astra-installer. Файл ответов называетсяastra-installer-preseed.yaml. Порядок его создания описан в статье Справочного центра Автоматическая установка Astra Linux Special Edition x.8. Там же приведены инструкции по преобразованию файлаpreseed.cfgвastra-installer-preseed.yaml.Примеры фрагмента файла ответов с исключением пакетов графического интерфейса:
tasksel tasksel/first multiselect Base packages, SSH server tasksel tasksel/astra-feat-setup multiselect
--- # ... tasks: - Base - Fly-ssh
Установочный узел#
Установочный узел должен содержать пакет для развертывания Astra Automation.
Кроме того, для выполнения в дальнейшем операций резервного копирования потребуется утилита rsync.
Типовые требования к свободному месту на дисках установочного узла зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
20 |
≥ 40 |
Объем свободного пространства для каталога установки |
10 |
≥ 25 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Объем свободного пространства для каталога |
Зависит от объема данных платформы. См. примечание ниже. |
Зависит от объема данных платформы. См. примечание ниже. |
Предупреждение
Объем свободного дискового пространства установочного узла не включает хранение резервных копий.
По умолчанию при выполнении команды aa-setup -b платформа сохраняет резервные копии в каталоге /var/backups/astra-automation/.
Рекомендуется выносить /var/backups на отдельный том с объемом, рассчитанным исходя из объема данных платформы.
Установка утилиты rsync#
Установите утилиту rsync:
sudo apt install -y rsync
Установка пакета для развертывания Astra Automation#
Установите пакет для развертывания Astra Automation:
Если в файле
/etc/apt/sources.listне содержатся ссылки на основной (main) и расширенный (extended) репозитории Astra Linux Special Edition, добавьте их.Важно
Версии используемых репозиториев должны соответствовать версии ОС, установленной на узлах платформы.
Например, для Astra Linux Special Edition 1.8.4 ссылки на репозитории имеют следующий вид:
deb https://download.astralinux.ru/astra/frozen/1.8_x86-64/1.8.4/extended-repository/ 1.8_x86-64 main non-free non-free-firmware contrib deb https://download.astralinux.ru/astra/frozen/1.8_x86-64/1.8.4/main-repository/ 1.8_x86-64 main contrib non-free non-free-firmware
Подробности о сетевых репозиториях Astra Linux Special Edition 1.8 см. в статье справочного центра Интернет-репозитории Astra Linux Special Edition x.8.
В каталоге
/etc/apt/sources.list.d/создайте файлastra-automation.listсо ссылкой на репозиторий Astra Automation:deb https://dl.astralinux.ru/aa/aa-debs-for-alse-1.8 <version> main
Вместо <version> подставьте версию устанавливаемой платформы, например,
2.0-upd1.Доступные версии продукта опубликованы в таблице История обновлений.
Обновите список доступных пакетов:
sudo apt update
Установите пакет
astra-automation-setup:sudo apt install astra-automation-setup --yes
По окончании установки выводится сообщение следующего вида:
В каталоге установщика подготовлены шаблоны файла инвентаря для базовой топологии (
inventory-base) и топологии уровня предприятия (inventory-enterprise). В зависимости от выбранной вами топологии скопируйте соответствующий шаблон в файл инвентаря для установщика:cd /opt/rbta/aa/astra-automation-setup && cp inventory-base.ini inventory
или
cd /opt/rbta/aa/astra-automation-setup && cp inventory-enterprise.ini inventory
На этапе описания инвентаря вы будете редактировать файл inventory так, чтобы он отвечал вашим требованиям.
Базовая подготовка узлов платформы#
Подготовка большинства узлов платформы не имеет особенностей и выполняется по базовому сценарию. Каждый узел платформы должен быть доступен и управляем по SSH со стороны установочного узла. Для подготовки узлов к развертыванию платформы выполните следующие действия:
Обеспечьте сетевую связность всех узлов согласно выбранной топологии.
(Необязательно) Обеспечьте конвертацию названий узлов в IP-адреса (с помощью
/etc/hostsили DNS).Настройте доступ к узлам по SSH с использованием ключей.
Инструкция по настройке приведена ниже.
Разрешите выполнение команд с использованием
sudoбез ввода пароля:sudo astra-sudo-control disable
Шлюз платформы#
Для подготовки шлюза платформы выполните базовую подготовку узлов платформы.
Специфичные системные требования к вычислительным ресурсам шлюза платформы (Platform Gateway):
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Свободное дисковое пространство, ГБ |
60 |
≥ 100 |
Типовые требования к свободному месту на дисках шлюза платформы (Platform Gateway) зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
60 |
≥ 60 |
Объем свободного пространства для каталога |
40 |
≥ 40 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Примечание
При отсутствии разбиения диска на разделы предъявляются только требования к размеру всего диска.
Система автоматизации процессов#
Система автоматизации процессов состоит из плоскости управления и плоскости исполнения. Специфичные системные требования к узлам этих плоскостей зависят от их типа. Для предлагаемых топологий гибридные узлы не используются.
Для подготовки системы автоматизации процессов выполните базовую подготовку узлов платформы.
Управляющие узлы#
Специфичные системные требования к вычислительным ресурсам управляющих узлов:
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Свободное дисковое пространство, ГБ |
60 |
≥ 100 |
Типовые требования к свободному месту на дисках управляющих узлов зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
60 |
≥ 100 |
Объем свободного пространства для каталога |
40 |
≥ 60 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Примечание
При отсутствии разбиения диска на разделы предъявляются только требования к размеру всего диска.
Исполняющие узлы#
Специфичные системные требования к вычислительным ресурсам исполняющих узлов:
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Свободное дисковое пространство, ГБ |
60 |
≥ 100 |
На производительность исполняющих узлов наибольшее влияние оказывают количество ядер CPU и RAM.
Типовые требования к свободному месту на дисках исполняющих узлов зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
60 |
≥ 100 |
Объем свободного пространства для каталога |
40 |
≥ 60 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Примечание
При отсутствии разбиения диска на разделы предъявляются только требования к размеру всего диска.
Переходные узлы#
Специфичные системные требования к вычислительным ресурсам переходных узлов:
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Свободное дисковое пространство, ГБ |
60 |
≥ 100 |
На производительность переходных узлов наибольшее влияние оказывают пропускная способность сети и низкие задержки при передаче пакетов.
Типовые требования к свободному месту на дисках переходных узлов зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
40 |
≥ 60 |
Объем свободного пространства для каталога |
20 |
≥ 40 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Примечание
При отсутствии разбиения диска на разделы предъявляются только требования к размеру всего диска.
Рекомендации#
На управляющих и исполняющих узлах зарезервируйте не менее 20 ГБ дискового пространства каталога /var/lib/awx/, используемого для хранения проектов и образов среды исполнения.
При большом количестве проектов, хранящихся в каталоге /var/lib/awx/projects/, или их значительном объеме увеличьте объем пространства как минимум вдвое.
Это позволит избежать ошибок, связанных с недостатком дискового пространства.
Требования к объему RAM зависят от количества одновременно проводимых операций автоматизации управляемых узлов.
Оно, в свою очередь, не может превышать максимально допустимое количество ответвленных процессов (forks), которое задается в настройках шаблона задания или в конфигурационном файле ansible.cfg.
Методику и пример расчета количества управляющих и исполняющих узлов см. в разделе «Производительность».
Система управления контентом#
Существует три варианта хранения контента в Private Automation Hub:
Локальная файловая система.
Вариант используется по умолчанию. При этом весь контент сохраняется в локальной файловой системе узла, на котором развернут Private Automation Hub. Этот вариант подходит, когда Private Automation Hub развернут на одном узле. Из-за отсутствия синхронизации между узлами, при отказе одного из них контент может быть утерян.
Рекомендуется для тестовых установок, стендов разработки и ситуаций, когда отказоустойчивость не критична.
Для реализации данного варианта достаточно настроить узел согласно базовой подготовке узлов платформы и добавить его в описание инвентаря без дополнительных шагов.
Облачное хранилище типа S3.
Поддерживается подключение к внешнему объектному хранилищу типа S3. Контент хранится вне узлов кластера, что позволяет обеспечить отказоустойчивость и масштабируемость без необходимости настройки локального сервера хранения. Вариант подходит для рабочих или облачных сред при наличии доступа к сервисам, поддерживающим S3, например:
Разделяемое хранилище NFS.
Предусматривает использование отдельного узла – сервера NFS, который предоставляет единое хранилище для всех узлов кластера Private Automation Hub. Такой подход обеспечивает централизованное хранение данных и возможность отказоустойчивой работы в кластере из нескольких узлов. Контент, размещенный в этом хранилище, доступен сразу всем узлам, что делает возможным масштабирование без дополнительной синхронизации.
Поэтому далее представлены требования как к узлам Private Automation Hub, так и к внешнему хранилищу, если оно используется.
Требования к узлам Private Automation Hub#
Специфичные системные требования к вычислительным ресурсам узлов Private Automation Hub:
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Свободное дисковое пространство, ГБ |
60 |
≥ 120 |
Типовые требования к свободному месту на дисках узлов Private Automation Hub зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
60 |
≥ 120 |
Объем свободного пространства для каталога |
40 |
≥ 80 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Примечание
При отсутствии разбиения диска на разделы предъявляются только требования к размеру всего диска.
Требования к внешнему хранилищу контента#
В качестве внешнего хранилища можно использовать один из вариантов:
объектное хранилище S3 – рекомендуемый вариант;
сервер NFS.
Примечание
Изменение внешнего хранилища после развертывания платформы потребует удаления и повторной загрузки всего содержимого.
Минимальный объем хранилища определяется объемом контента, который загружается из облачного Automation Hub и составляет не более трех ГБ. Рекомендуется зарезервировать не менее 40 ГБ.
Подготовка разделяемого хранилище NFS#
Настройка разделяемого хранилища может различаться в зависимости от требуемых характеристик. Далее представлен пример настройки разделяемого хранилища NFS для двух узлов Private Automation Hub и одного сервера NFS.
Важно
На всех используемых узлах в файле
/etc/apt/sources.listдолжны содержаться ссылки на основной (main) и расширенный (extended) репозитории Astra Linux Special Edition. Версии используемых репозиториев должны соответствовать версии ОС, установленной на узлах платформы.Например, для Astra Linux Special Edition 1.8.4 ссылки на репозитории имеют следующий вид:
deb http://download.astralinux.ru/astra/frozen/1.8_x86-64/1.8.4/main-repository 1.8_x86-64 main non-free non-free-firmware contrib deb http://download.astralinux.ru/astra/frozen/1.8_x86-64/1.8.4/extended-repository 1.8_x86-64 main non-free non-free-firmware contrib
Для корректной работы протокола NFS требуется открыть TCP-порты 111 и 2049 на сервере. Разрешите доступ к этим портам только с IP-адресов узлов Private Automation Hub, как показано далее.
Настройте сервер NFS:
Обновите список доступных пакетов:
sudo apt update
Установите пакеты:
sudo apt install -y iptables iptables-persistent
Разрешите доступ к портам NFS (111 и 2049) с узлов Private Automation Hub:
sudo iptables -A INPUT -p tcp -s <ip_pah_1> --dport 111 -j ACCEPT sudo iptables -A INPUT -p tcp -s <ip_pah_2> --dport 111 -j ACCEPT sudo iptables -A INPUT -p tcp -s <ip_pah_1> --dport 2049 -j ACCEPT sudo iptables -A INPUT -p tcp -s <ip_pah_2> --dport 2049 -j ACCEPT
Здесь <ip_pah_1> и <ip_pah_2> – IP-адреса узлов кластера Private Automation Hub.
Сохраните правила:
sudo netfilter-persistent save
Убедитесь, что правила применились:
sudo iptables -L -n | grep -wE '111|2049'
В выводе должны отображаться добавленные правила для IP-адресов клиентских узлов.
Установите сервер NFS:
sudo apt install -y nfs-kernel-server
Создайте каталог, который будет экспортироваться:
sudo mkdir -p /mnt/nfs/pulp_media
Измените режим доступа к созданному каталогу на
755:sudo chmod -R 755 /mnt/nfs/pulp_media
Добавьте в файл
/etc/exportsследующие строки:/mnt/nfs/pulp_media <ip_pah_1>(sync,rw,no_root_squash,no_subtree_check) /mnt/nfs/pulp_media <ip_pah_2>(sync,rw,no_root_squash,no_subtree_check)
Примените настройку:
sudo exportfs -rav
Перезапустите сервер NFS:
sudo systemctl restart nfs-kernel-server
Проверьте успешность экспорта:
sudo exportfs -v
Пример вывода:
/mnt/nfs/pulp_media <ip_pah_1>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash) /mnt/nfs/pulp_media <ip_pah_2>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
Настройте узлы Private Automation Hub:
Примечание
Нижеуказанные действия необходимо выполнить на каждом узле Private Automation Hub, который должен иметь доступ к общему хранилищу.
Обновите список доступных пакетов:
sudo apt update
Установите клиент NFS:
sudo apt install -y nfs-common
Создайте точку монтирования:
sudo mkdir -p /var/lib/pulp/media
Чтобы общее хранилище монтировалось при загрузке ОС, добавьте в
/etc/fstabследующие строки:<ip_nfs>:/mnt/nfs/pulp_media /var/lib/pulp/media nfs defaults,_netdev 0 0
Здесь <ip_nfs> – IP-адрес сервера NFS.
Обновите настройки служб systemd:
sudo systemctl daemon-reload
Смонтируйте файловую систему:
sudo mount -a
Убедитесь, что хранилище подключено:
mount | grep pulp_media
В выводе должна присутствовать строка с путем монтирования
/var/lib/pulp/media.
Проверьте корректность настройки:
На первом узле Private Automation Hub создайте тестовый файл:
sudo touch /var/lib/pulp/media/test_hub1.txt
На втором узле Private Automation Hub убедитесь, что файл доступен:
ls -la /var/lib/pulp/media/
В выводе должен отображаться файл
test_hub1.txt.Удалите файл на втором узле Private Automation Hub:
sudo rm /var/lib/pulp/media/test_hub1.txt
На первом узле Private Automation Hub убедитесь, что файл отсутствует:
ls -la /var/lib/pulp/media/
В выводе не должен отображаться файл
test_hub1.txt.
Система управления событиями#
Для подготовки системы управления событиями выполните базовую подготовку узлов платформы.
Специфичные системные требования к вычислительным ресурсам узлов контроллера Event-Driven Automation:
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Свободное дисковое пространство, ГБ |
60 |
≥ 80 |
Типовые требования к свободному месту на диске узла контроллера Event-Driven Automation зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
60 |
≥ 100 |
Объем свободного пространства для каталога |
40 |
≥ 60 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Примечание
При отсутствии разбиения диска на разделы предъявляются только требования к размеру всего диска.
СУБД#
Специфичные системные требования к вычислительным ресурсам СУБД PostgreSQL, в том числе развернутой за пределами рабочего пространства, выделенного для Astra Automation:
Параметр |
Минимальное значение |
Рекомендуемое значение |
|---|---|---|
Версия PostgreSQL |
15 |
15 |
Свободное дисковое пространство, ГБ |
60 |
≥ 150 |
Типовые требования к свободному месту на дисках узлов СУБД PostgreSQL зависят от способа разбиения дискового пространства на разделы:
Параметр |
Минимальное значение, ГБ |
Рекомендуемое значение, ГБ |
|---|---|---|
Объем свободного дискового пространства (при отсутствии разбиения на разделы) |
100 |
≥ 150 |
Объем свободного пространства для каталога |
80 |
≥ 120 |
Объем свободного пространства для каталога |
10 |
≥ 10 |
Для базы Private Automation Hub необходимо расширение hstore для PostgreSQL.
При развертывании СУБД средствами платформы оно устанавливается и включается автоматически.
При использовании внешней СУБД выполните настройки самостоятельно.
Astra Automation не поддерживает кластеризацию СУБД. Это значит, что для обеспечения ее высокой доступности необходимо использовать сторонние средства.
Балансировщик нагрузки#
Для обеспечения высоких требований по устойчивости платформы рекомендуется использовать более одного узла для каждого компонента. Доступ к платформе в таком случае следует предоставлять через балансировщик нагрузки.
Настройка SSH для доступа к узлам#
Рекомендуемым способом доступа к узлам является подключение по протоколу SSH с использованием ключей. Необходимо создать пару ключей – приватный и публичный. Приватный ключ необходимо оставить на установочном узле, а публичный передать на остальные узлы платформы.
Генерация ключей SSH#
Для генерации пар ключей SSH на установочном узле выполните следующие действия:
Перейдите в каталог установщика, например:
cd /opt/rbta/aa/astra-automation-setup/
Создайте пару ключей SSH:
sudo ssh-keygen -C "<comment>" -f <path/to/file> -N "<password>"
где:
<comment> – комментарий к ключу.
<path/to/file> – путь к файлу, в котором будет приватный ключ. Этот путь необходимо будет указать в настройках инвентаря для установщика. Публичный ключ будет создан по тому же пути в файле с тем же названием, к которому добавляется расширение
.pub.<password> – пароль для защиты приватного ключа. Если пароль пустой, приватный ключ создается без защиты.
Сделайте файл доступным только для его владельца:
sudo chmod 600 <path/to/file>
где <path/to/file> – путь к файлу, в котором сохранен приватный ключ.
Настройка целевых узлов#
Чтобы разрешить подключение к узлу по SSH с использованием ключей, выполните следующие действия на каждом узле:
В каталоге
/etc/ssh/sshd_config.d/создайте файлssh_auth_keysсо следующим содержимым:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
Перезапустите сервер SSH:
sudo systemctl restart ssh
В домашнем каталоге пользователя-администратора создайте подкаталог
.ssh/, а в нем – файлauthorized_keys.Сделайте файл доступным только его владельцу:
chmod 600 ~/.ssh/authorized_keys
Добавьте в файл
~/.ssh/authorized_keysсодержимое соответствующего публичного ключа, например (часть содержимого ключа опущена с целью сокращения):Совет
Если узел разрешает подключение по SSH с использованием пароля, публичную часть ключей SSH можно разместить с помощью утилиты
ssh-copy-id, выполнив следующую команду на установочном узле:ssh-copy-id -i <path/to/file> <user>@<host>
где:
<path/to/file> – путь к файлу, содержащему публичный ключ SSH;
<user> – название учетной записи администратора узла;
<host> – IP-адрес или FQDN узла.