Общие сведения
Документ содержит описание общей схемы и последовательности установки продукта «Служба управления конфигурациями» (LCM).
В общем случае процесс установки состоит из следующих этапов:
Установка выполняется с использованием дистрибутива продукта «Служба управления конфигурациями» от ГК «Иннотех».
Состав дистрибутива
Дистрибутив продукта включает модули:
-
inno-lcm-core— сборка бэкенда LCM, содержащая скомпилированный код для массовой установки ПО на АРМ и обработки полученных событий; -
inno-lcm-webadmin— пользовательский интерфейс администратора; -
inno-lcm-salt-formulas— пакет с формулами для установки ПО на АРМ с использованием SaltStack; -
CHANGELOG.md— файл, содержащий журнал изменений проекта в виде упорядоченного списка версий продукта с датами их выхода и описанием; -
lcm-doc— сопроводительная документация, соответствующая версии продукта.
Дистрибутив распространяется следующими способами:
-
в виде Deb-пакетов, доступных для установки из apt-репозитория
https://artifacts.inno.tech/repository/<клиент>-<редакция>-apt-packages;Перед установкой требуется добавить apt-репозиторий в список репозиториев операционной системы и обеспечить к нему доступ, используя полученные от ГК «Иннотех» публичный ключ и реквизиты пользователя.
-
в виде архивов в формате
tar.gz, доступных для загрузки из репозиторияhttps://artifacts.inno.tech/repository/<клиент>-<редакция>-raw-packages.Доступ к репозиторию осуществляется с использованием полученных от ГК «Иннотех» реквизитов. Архивы в репозитории сгруппированы по версиям. Для каждой версии предоставляется стандартный набор архивов с файлами для проверки контрольных сумм.
Требования к программному обеспечению
Требования к системному и прикладному программному обеспечению приведены в таблице:
| Название | Описание | Версия | Тип лицензии | Правообладатель | ||
|---|---|---|---|---|---|---|
Astra Linux Special Edition |
Операционная система на базе Linux.
|
1.7 и выше |
GNU General Public License |
ООО «РусБИТехАстра» |
||
LDAP-сервер |
Сервер, который предоставляет доступ к каталогу объектов, таких как пользователи, группы, компьютеры и другие ресурсы в сети.
|
|
|
|
||
PostgreSQL |
СУБД для хранения и обработки данных продукта |
Не ниже 14.0 |
PostgreSQL Licence |
Open source |
||
SaltStack |
Система управления конфигурацией и автоматизации операций в ИТ-инфраструктуре |
Не ниже 3005.1 |
Apache 2.0 |
Open Source |
||
systemd |
Подсистема инициализации и управления службами в Linux, которая используется для установки Deb-пакетов |
245 и выше |
GPL-2.0 license |
Open Source |
Предварительные требования
-
Убедитесь, что установлено требуемое прикладное программное обеспечение соответствующей версии.
-
Убедитесь, что после установки SaltStack на сервере, для доступа к Мастеру через REST API для SaltStack включен модуль
salt-api. -
Задайте настроечные параметры продукта (подключение к БД, LDAP-серверу и другие свойства) в файле конфигурации
application.propertiesи поместите этот файл в директорию/opt/inno-lcm-core. -
Выполните настройку фронтенда продукта.
-
Получите SSL-сертификат для осуществления синхронизации пользователей по протоколу LDAPS.
Настройка бэкенда продукта
Для настройки бэкенда продукта в конфигурационном файле application.properties задайте параметры, описанные в таблице:
| Наименование | Описание | Пример значения | ||
|---|---|---|---|---|
|
Порт, на котором работает LCM Rest API |
|
||
|
Активация логирования в файл. Значение по умолчанию — |
|
||
|
Путь для сохранения файлов с логами продукта. Значение по умолчанию — |
|
||
|
Формат записи логов в файл. Значение по умолчанию — |
|
||
|
Предельное количество сохраняемых файлов с логами при ротации. Значение по умолчанию — |
|
||
|
Максимальный размер одного файла с логами, после чего будет произведена ротация (создан следующий файл и продолжена запись).
Значение по умолчанию — |
|
||
|
Активация ротации при запуске продукта. Если установлено значение |
|
||
|
Имя пользователя для подключения к схеме |
|
||
|
Пароль пользователя для подключения к схеме |
|
||
|
Адрес подключения серверной части продукта к БД модуля |
|
||
|
Адрес подключения Liquibase к БД модуля |
|
||
|
Имя пользователя для подключения к схеме |
|
||
|
Пароль пользователя для подключения к схеме |
|
||
|
Адрес подключения серверной части продукта к БД. Формат атрибута: |
|
||
|
Адрес подключения liquibase к БД. Формат атрибута: |
|
||
|
Параметр, определяющий через какой интервал времени будет выполняться операция применения назначенных конфигураций на АРМ.
Значение по умолчанию — |
|
||
|
Параметр, определяющий на какой интервал времени может быть случайная
задержка перед выполнением операции.
Значение по умолчанию — |
|
||
|
Параметр, определяющий через какой интервал времени будет выполняться операция синхронизации параметров Grains.
Значение по умолчанию — |
|
||
|
Параметр, определяющий на какой интервал времени может быть случайная задержка перед выполнением операции.
Значение по умолчанию — |
|
||
|
Параметр, определяющий через какой интервал времени будет выполняться операция синхронизации хранилища Pillar.
Значение по умолчанию — |
|
||
|
Параметр, определяющий на какой интервал времени может быть случайная
задержка перед выполнением операции.
Значение по умолчанию — |
|
||
|
Параметр, определяющий через какой интервал времени будет выполняться операция инвентаризации АРМ.
Значение по умолчанию — |
|
||
|
Параметр, определяющий на какой интервал времени может быть случайная
задержка перед выполнением операции.
Значение по умолчанию — |
|
||
|
Максимальное количество АРМ, которое будет обрабатывать команду, запущенную на Мастере.
Значение по умолчанию — |
|
||
|
Максимальное количество элементов, которое содержится в запросе к модулю |
|
||
|
Cron-выражение для настройки запуска синхронизации пользователей LDAP |
|
||
|
Задает расписание обновления коллекций. Значение по умолчанию: |
|
||
|
Максимальное количество пользователей для одной итерации синхронизации с LDAP |
|
||
|
Условное обозначение домена |
|
||
|
IP-адрес или сетевое имя контроллера домена |
|
||
|
Порт для соединения по протоколу LDAP. Опциональный параметр. Значение по умолчанию — |
|
||
|
Имя пользователя, которое будет использовано для подключения к домену MS AD. Может быть указано в одном из следующих форматов:
|
|
||
|
Пароль пользователя для подключения к домену MS AD |
|
||
|
Параметр, отвечающий за соединение по протоколу LDAP over SSL (LDAPS). Возможные значения:
Опциональный параметр. Значение по умолчанию — |
|
||
|
Относительный или абсолютный путь к файлу с сертификатом для подключения через LDAPS.
Опциональный параметр. Значение по умолчанию —
|
|
||
|
Базовое имя домена для поиска пользователей в формате записи LDAP |
|
||
|
Максимальная длительность подключения к LDAP-серверу в миллисекундах. Значение |
|
||
|
Максимальная длительность выполнения запроса к LDAP-серверу в миллисекундах. Значение |
|
||
|
Отвечает за освобождение соединения в случае превышения максимальной длительности ожидания запроса.
Возможные значения: |
|
||
|
Указывает, разрешать ли использование экземпляра фабрики сокетов (который может совместно использоваться
несколькими соединениями) для одновременного создания нескольких сокетов. Как правило, реализации фабрики
сокетов являются потокобезопасными и могут создавать несколько соединений одновременно в отдельных потоках.
В некоторых реализациях виртуальных машин (например, фабрики сокетов SSL в IBM JVM) этот параметр может
использоваться, чтобы указать, следует ли разрешить одновременные попытки создания сокета
(что может обеспечить лучшую и более стабильную производительность, особенно в случаях, когда попытка подключения
не удалась из-за тайм-аута) или предотвратить (что может быть необходимо для непотоковой реализации фабрики сокетов).
Опциональный параметр. Значение по умолчанию — |
|
||
|
Название корзины S3 для хранения общих файлов конфигураций и файлов состояний |
|
||
|
Название корзины S3 для хранения данных Pillar |
|
Нумерация массива lcm.inventory.ldap.datasource начинается с 0.
|
|
Параметры подключения к домену №2 аналогичны параметрам домена №1:
|
Настройка фронтенда продукта
Для настройки фронтенда выполните шаги:
-
Задайте адрес обращения к бэкенду продукта в конфигурационном файле Nginx CI-процесса. Путь к конфигурационному файлу:
/etc/nginx/site-available/inno-lcm-webadmin.Пример:
location /api { set $backend_uri http://127.0.0.1:8081; rewrite ^\/api(\/.*)$ $1 break; proxy_pass $backend_uri; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } -
Чтобы применить изменения, перезапустите Nginx-сервер, выполнив команду:
service nginx restart
Получение сертификата SSL для осуществления синхронизации пользователей по протоколу LDAPS
Для отображения сертификата выполните команду в консоли:
openssl s_client -showcerts -connect <active_directory_domain_controller_address>:<ldap_ssl_port>
Пример:
openssl s_client -showcerts -connect 10.169.20.3:636
Полученный сертификат вставьте в файл, указанный в параметре
lcm.inventory.ldap.datasource[i].ssl-certificate.
Ниже приведен пример формата файла с сертификатом SSL:
-----BEGIN CERTIFICATE-----
MIIGAzCCA+ugAwIBAgITPgAA73OOkh5tlMKRpwAAAADvczANBgkqhkiG9w0BAQwF
#....
3tC+mTiQEgt99WnACQHV9E9CN4Nhvj8PoTvoZxstCz2QMgw3p9F2wm/4n4aBOTei
kNsrtXOXsA==
-----END CERTIFICATE-----
Установка Deb-пакетов с модулями продукта
Установка продукта включает установку модулей:
-
inno-lcm-core; -
inno-lcm-webadmin.
Чтобы установить модули, установите на сервере соответствующие Deb-пакеты одним из следующих способов:
|
Имена пакетов формируются по шаблону:
Где:
Пример:
|
Установка из apt-репозитория
Для установки требуется следующее:
-
наименование apt-репозитория в формате
https://<repository.domain.name>/repository/<клиент>-<редакция>-apt-packages; -
файл с публичным ключом для доступа к apt-репозиторию;
-
реквизиты для доступа к apt-репозиторию.
Для установки пакетов на сервере из apt-репозитория:
-
Добавьте публичный ключ для доступа к apt-репозиторию с пакетом стандартным способом, соответствующим используемому дистрибутиву Linux.
Например, на Astra Linux 1.7 SE или Ubuntu 20.04 используйте стандартную утилиту apt-key:
sudo apt-key add keyfile.pgp
При необходимости установки ключа для проверки подписи исполняемых файлов в защищенном режиме работы Astra Linux 1.7 SE следуйте инструкции в официальной документации. На Ubuntu 22.04 и выше используйте следующую команду (от имени пользователя root):
cat keyfile.gpg | gpg --dearmor > /usr/share/keyrings/innotech-keyring.gpg
-
Создайте файл
/etc/apt/auth.conf.d/innotech.confи задайте в нем реквизиты для доступа к репозиторию в стандартном формате:machine <repo_host> login <repo_user> password <repo_password>
-
Подключите требуемый apt-репозиторий в соответствии с инструкциями для используемого дистрибутива Linux (см., например, инструкцию в официальной документации Astra Linux).
Например, при использовании дистрибутива на основе Debian выполните следующую команду:
echo -e "deb [trusted=yes] https://artifactory.inno.tech/repository/vtb-astra-apt-packages 1.7_x86-64 main" | sudo tee /etc/apt/sources.list.d/innotech.list
-
Обновите пакеты с помощью стандартной команды.
Например, при использовании дистрибутива на основе Debian выполните следующую команду:
sudo apt update
-
Установите пакет
inno-lcm-core, выполнив команду:sudo apt -f -y install inno-lcm-core
-
Установите пакет
inno-lcm-webadmin, выполнив команду:sudo apt -f -y install inno-lcm-webadmin
Установка из архива
Для установки требуется следующее:
-
наименование репозитория с пакетами в формате
https://<repository.domain.name>/repository/<клиент>-<редакция>-raw-packages; -
реквизиты для доступа к apt-репозиторию.
Для установки пакетов на сервере из архивов:
-
Загрузите архивы с пакетами требуемых версий и соответствующие файлы контрольных сумм из репозитория
https://artifacts.inno.tech/repository/<клиент>-<редакция>-raw-packagesлюбым доступным способом. -
Убедитесь в целостности архивов, сравнив их контрольные суммы с контрольными суммами в соответствующих файлах.
Например:
shasum -a 512 -c inno-lcm-core-1.1.0.tar.gz inno-lcm-core-1.1.0.tar.gz.sha512
-
Создайте временный каталог для распаковки и распакуйте архив:
Например:
mkdir inno-lcm tar xvf inno-lcm-core-1.1.0-amd64.tar.gz -C inno-lcm
-
Установите Deb-пакеты стандартным способом:
Например:
cd inno-lcm-core/packages sudo apt install inno-lcm-core_1.1.0_amd64.deb
Проверка установки
После успешной установки пакетов:
-
Распакованы архивы пакетов.
-
Прочитан файл с конфигурацией.
-
Создана systemd-служба
lcm. -
Запущена служба
lcm.
Для проверки статуса запуска службы lcm используйте команду:
systemctl status lcm
Настройка SaltStack
Настройка SaltStack включает этапы:
Настройка конфигурации Мастеров
Узел Мастер настраивается через главный файл конфигурации.
По умолчанию файл конфигурации хранится в директории /etc/salt/master.
В данном файле необходимо выполнить настройку, которая обеспечит трансляцию
событий на узел Master of Masters (MoM): syndic_forward_all_events: True.
| Подробную информацию о настройке главного файла конфигурации Мастера см. в официальной документации. |
Дополнительно при использовании хранилища S3 в качестве пространства для хранения общих файлов конфигураций и файлов состояний выполните настройки:
-
Создайте файл
/etc/salt/master/fileserver_backend.confи укажите в нем, что в качестве бэкенда для файлов будет использоваться хранилище S3:fileserver_backend: - s3fs -
В файле
/etc/salt/master/s3.confпропишите настройки подключения к хранилищу S3:s3.service_url: <s3_hostname>:<s3_port> s3.keyid: <ACCESS_KEY> s3.key: <SECRET_KEY> s3.buckets: - salt-bucket s3.path_style: True s3.location: <REGION>Где в параметре
s3.bucketsуказана корзина с именемsalt-bucketдля хранения файлов состояния и формул.Подробное описание остальных параметров приведено в официальной документации. -
Выполните настройку подключения к S3 для хранения в отдельной корзине данных хранилища Pillar — создайте файл
/etc/salt/master/ext_pillar.conf, в котором будет указана корзинаpillar-bucket:ext_pillar: - s3: service_url: <s3_hostname>:<s3_port> keyid: <ACCESS_KEY> key: <SECRET_KEY> bucket: pillar-bucket multiple_env: False environment: base prefix: '' verify_ssl: False s3_cache_expire: 30 s3_sync_on_update: True path_style: True https_enable: FalseПодробное описание всех полей приведено в официальной документации.
Настройка конфигурации Миньонов
Узел Миньон настраивается через файл конфигурации.
По умолчанию файл конфигурации хранится в директории /etc/salt/minion.
| Подробную информацию о настройке главного файла конфигурации Миньона см. в официальной документации. |
Загрузка пользовательских формул в хранилище S3
| Готовые формулы (подробнее см. раздел «Готовые формулы» документа «Руководство по эксплуатации») импортируются автоматически при установке продукта. |
Чтобы загрузить пользовательские формулы (см. раздел «Пользовательские формулы» документа
«Руководство по эксплуатации») и формулы-шаблоны (см. раздел «Формулы-шаблоны» документа
«Руководство по эксплуатации»), используйте API для импорта Salt-формулы в хранилище S3 importFormulas
(см. раздел «Метод importFormulas» документа «Описание API»).
Глоссарий
- Active Directory
-
Cлужба каталога, которая используется в среде Windows Server для управления пользователями, компьютерами и другими ресурсами в доменной сети. Она обеспечивает централизованное управление доступом к ресурсам, авторизацию и аутентификацию пользователей, а также хранение информации о пользователях, группах и других объектах в сети. С помощью службы AD можно настраивать политики безопасности, управлять правами доступа к файлам и папкам, а также создавать и удалять пользователей и группы в сети.
- Deb-пакет (Debian package)
-
Формат упаковки программного обеспечения для операционной системы Debian и ее производных, таких как Ubuntu. Deb-пакет содержит программу или библиотеку, а также информацию о зависимостях и конфигурации. Он может быть установлен с помощью менеджера пакетов, например,
apt-getилиdpkg. Deb-пакеты облегчают установку и обновление программного обеспечения в системе, а также позволяют управлять зависимостями между пакетами.
- Автоматизированное рабочее место (АРМ)
-
Программно-технический комплекс, предназначенный для автоматизации деятельности сотрудника из состава пользователей автоматизированных систем.
- Операционная система (ОС)
-
Программное обеспечение, управляющее компьютерами (включая микроконтроллеры) и позволяющее запускать на них прикладные программы. Предоставляет программный интерфейс для взаимодействия с компьютером, управляет прикладными программами и занимается распределением предоставляемых ресурсов, в том числе между прикладными программами. В широком смысле под операционной системой понимается совокупность ядра операционной системы и работающих поверх него программ и утилит, предоставляющих интерфейс для взаимодействия пользователя с компьютером.
- Программное обеспечение (ПО)
-
Программа или множество программ, используемых для управления компьютером.