ALD Pro#
ALD Pro – это набор сетевых служб сервера Astra Linux для организации централизованного управления ИТ-инфраструктурой.
Развертывание домена ALD Pro с использованием коллекции astra.ald_pro из реестра Automation Hub позволяет автоматизировать большую часть рутинных операций.
Далее описана коллекция astra.ald_pro версии 6.8.0.
Состав переменных в других версиях коллекции отличается, поэтому его сверяют с файлом README.md используемой версии.
Структура#
Домен ALD Pro может состоять из контроллера домена, его реплик, узлов с дополнительными службами домена и клиентов домена.
Для настройки каждого компонента существует отдельная роль.
Также в состав коллекции входит служебная роль astra.ald_pro.common, которая используется другими ролями.
Далее приводится пример использования следующих ролей:
astra.ald_pro.controller;astra.ald_pro.replica;astra.ald_pro.client.
Параметры настройки#
Для настройки параметров домена необходимо присвоить соответствующие значения переменным роли.
Роль astra.ald_pro.controller#
Роль astra.ald_pro.controller используется для настройки контроллера домена ALD Pro.
Переменные роли:
aldpro_global_forwarders– IP-адреса DNS-серверов, используемых для конвертации доменных имен за пределами домена.Значение по умолчанию:
8.8.8.8;8.8.4.4.
aldpro_server_minimal_memory_mb– минимальное количество мегабайт оперативной памяти, необходимое для развертывания служб контроллера домена ALD Pro.Развертывание контроллера на узле запускается только в том случае, когда на нем установлено количество оперативной памяти большее или равное указанному.
Значение по умолчанию:
4096(4 ГБ).aldpro_enable_syncer– установка модуля синхронизацииaldpro-syncer.Этот модуль необходим для использования расширенных функций интеграции с доменом Microsoft Active Directory.
Значение по умолчанию:
true.aldpro_enable_gc– установка модуля глобального каталогаaldpro-gc.Этот модуль необходим, если используется топология из контроллера домена и нескольких реплик. Службы, предоставляемые этим модулем, выполняют синхронизацию данных пользователей между контроллером домена и его репликами.
Значение по умолчанию:
true.
Роль astra.ald_pro.replica#
Роль astra.ald_pro.replica используется для настройки реплик контроллера домена ALD Pro.
Переменные роли:
aldpro_pdc_name– краткое имя контроллера домена.Например, если FQDN контроллера домена –
dc1.moscow.example.com, то краткое имя –dc1.
Развертывание реплики происходит в два этапа:
развертывание служб клиента домена;
преобразование клиента домена в реплику.
Если службы клиента домена уже настроены, этот этап развертывания реплики можно пропустить. Для этого необходимо выполнить следующие действия:
Добавить в сценарий для соответствующего задания тег
replica, например:--- - name: Enrolling ALD Pro replica hosts: replicas become: true tags: replica roles: - astra.ald_pro.replica
Запустить набор сценариев с тегом
replica.ansible-navigator run playbook.yml -i inventory.ini -t replica -m stdout
Роль astra.ald_pro.client#
Роль astra.ald_pro.client используется для настройки клиентов домена ALD Pro.
Переменные роли:
aldpro_pdc_ip– IP-адрес контроллера домена, например192.168.56.10.aldpro_pdc_name– краткое имя контроллера домена, напримерdc01.
Роль astra.ald_pro.common#
Переменные роли astra.ald_pro.common:
aldpro_domain– название домена.aldpro_admin_password– пароль администратора домена.Длина пароля – не менее 8 символов.
aldpro_version– версия ALD Pro, которая развертывается на узлах или до которой выполняется обновление.Значение по умолчанию задано в коллекции и соответствует последней проверенной версии ALD Pro, поэтому вместе с коллекцией меняется и оно. В коллекции 6.8.0 это
3.3.0.Значение выбирают по матрице совместимости из файла
README.mdколлекции, так как каждая версия ALD Pro предъявляет собственные требования к версии операционной системы.aldpro_repo– список ссылок на репозитории, которые следует использовать для установки пакетов ALD Pro.Например, для развертывания ALD Pro версии 3.3.0 эта ссылка может иметь следующий вид:
deb https://dl.astralinux.ru/aldpro/frozen/01/3.3.0 1.7_x86-64 main base
Обязательные переменные#
При использовании ролей обязательны для заполнения следующие переменные:
astra.ald_pro.controller:aldpro_admin_password;aldpro_domain;aldpro_pdc_name;aldpro_repo;
Переменную
aldpro_pdc_nameроль использует для обращения к службе каталога по адресу<aldpro_pdc_name>.<aldpro_domain>.astra.ald_pro.replica:aldpro_admin_password;aldpro_domain;aldpro_pdc_ip;aldpro_pdc_name;aldpro_repo;
Переменную
aldpro_pdc_ipрольastra.ald_pro.replicaне читает сама, однако она развертывает реплику поверх служб клиента домена и поэтому зависит от ролиastra.ald_pro.client, которой эта переменная необходима.astra.ald_pro.client:aldpro_admin_password;aldpro_domain;aldpro_pdc_ip;aldpro_pdc_name;aldpro_repo.
Последовательность применения#
Для применения коллекции astra.ald_pro выполните следующие действия:
Подготовьте узлы с необходимыми техническими характеристиками.
Требования к техническим характеристикам узлов и методики расчета приведены в документе РДЦП.10101-01 95 01 «Программный комплекс «ALD Pro». Руководство администратора. Инструкция по развертыванию и обновлению», п. 1.4 «Рекомендации по планированию ресурсов службы каталога».
Настройте управляемые узлы согласно инструкции.
Создайте каталог проекта, например:
mkdir ald-pro-enrollingВсе упомянутые ниже файлы необходимо создавать в каталоге проекта, если только явно не указано иное.
Создайте файл с настройками Ansible
ansible.cfg:[defaults] ansible_ssh_private_key_file = /path/to/private/ssh/key host_key_checking = False interpreter_python = /usr/bin/python3 inventory = inventory.ini
Создайте файл инвентаря
inventory.iniи добавьте в него сведения об управляемых узлах, например:[all] dc1 ansible_host=192.168.56.12 dc2 ansible_host=192.168.56.13 client1 ansible_host=192.168.56.14 client2 ansible_host=192.168.56.15 [all:vars] ansible_user='vagrant' [clients] client1 client2
Создайте файл с переменными ролей
variables.yml, например:--- aldpro_admin_password: "aldpropass123456" aldpro_domain: "domain.example.com" aldpro_enable_gc: true aldpro_enable_syncer: true aldpro_global_forwarders: - "8.8.8.8" - "1.1.1.1" aldpro_pdc_ip: "192.168.56.12" aldpro_pdc_name: "dc1" aldpro_repo: - "deb https://dl.astralinux.ru/aldpro/frozen/01/3.3.0 1.7_x86-64 main base" aldpro_version: "3.3.0"
Создайте файл сценария
playbook.ymlи добавьте в него соответствующие роли для узлов домена, например:--- - name: Enrolling ALD Pro domain controller hosts: dc1 become: true vars_files: - variables.yml roles: - astra.ald_pro.controller - name: Enrolling ALD Pro domain replica hosts: dc2 become: true vars_files: - variables.yml roles: - astra.ald_pro.replica - name: Enrolling ALD Pro clients hosts: clients become: true vars_files: - variables.yml roles: - astra.ald_pro.client
Выполните сценарий с использованием образа среды исполнения
aa-full-ee:ansible-navigator run playbook.yml \ --inventory inventory.ini \ --eei hub.astra-automation.ru/aa-2.1/aa-full-ee:latest
Обновление ALD Pro#
Отдельного режима обновления в коллекции нет.
Обновление выполняют те же роли, что и развертывание.
Для этого в переменных aldpro_version и aldpro_repo задают целевую версию и репозиторий этой версии, после чего роль запускают повторно.
Роль сравнивает целевую версию с установленной на узле и начинает обновление, если целевая версия выше.
Если целевая версия не выше установленной, обновление не начинается.
Установку продукта в этом случае роль тоже не повторяет, если прошлое действие ALD Pro на узле завершилось, то есть узел находится в состоянии installed или updated.
Если прошлое действие не завершилось, например установка прервалась, роль выполняет установку заново с той же версией.
Это штатный способ повторить прерванную установку.
Пустым повторный запуск не бывает, так как остальные задачи ролей выполняются при каждом запуске:
подключается репозиторий из переменной
aldpro_repoи обновляется кеш пакетов;устанавливается пакет
ca-certificatesпоследней доступной версии;задается название узла и обновляется файл
/etc/hosts;применяется защита учетной записи администратора, если включен параметр
aldpro_admin_krbcanonicalname(по умолчанию включен).
Пример задания для обновления контроллера домена:
---
- name: Upgrading ALD Pro domain controller
hosts: dc1
become: true
vars:
aldpro_version: "3.3.0"
aldpro_repo:
- "deb https://dl.astralinux.ru/aldpro/frozen/01/3.3.0 1.7_x86-64 main base"
roles:
- astra.ald_pro.controller
Узлы с дополнительными службами домена обновляют так же, повторным запуском их ролей с теми же значениями aldpro_version и aldpro_repo.
Реплики контроллера домена так не обновляются.
Роль astra.ald_pro.replica содержит только развертывание и версию установленного ALD Pro не сравнивает.
На узле, где установка реплики завершилась, повторный запуск роли установку не повторяет, так как для состояний installed и updated роль пропускает этот шаг.
Если установка реплики не завершилась, повторный запуск выполняет ее заново.
Порядок обновления реплик приведен в руководстве администратора ALD Pro.
Важно
Сначала обновляют контроллер домена, и только после этого узлы с дополнительными службами.
Обновляться можно не с любой версии на любую.
Допустимые пути заданы в переменной aldpro_upgrade_matrix, и роль проверяет по ней заданный переход.
Неподдерживаемый переход роль отклоняет с сообщением о том, что обновляться необходимо через промежуточную версию, поэтому домен остается в прежнем состоянии.
Коллекция 6.8.0 поддерживает следующие пути обновления:
Установленная версия |
Версии, до которых возможно обновление |
|---|---|
2.2.1 |
2.3.0, 2.4.0, 2.4.1 |
2.3.0 |
2.4.0, 2.4.1 |
2.4.0 |
2.4.1 |
2.4.1 |
2.4.2 |
2.4.2 |
2.4.3, 2.5.0, 3.0.0 |
2.4.3 |
2.5.0, 3.0.0 |
3.0.0 |
3.1.0 |
3.1.0 |
3.2.0 |
3.2.0 |
3.2.1, 3.3.0 |
Перед обновлением сверяют версию операционной системы на узлах с матрицей совместимости из файла README.md коллекции и при необходимости обновляют операционную систему.
Для серверной группы домена (контроллер, реплики и узлы дополнительных служб) коллекция проверяет минимальную версию операционной системы сама и прекращает работу, если версия ниже требуемой.
Например, для ALD Pro 3.3.0 серверной группе необходима Astra Linux Special Edition версии 1.7.10 или 1.8.6.
Проверка работает только для тех версий ALD Pro, которые перечислены в переменной aldpro_server_os_matrix.
В коллекции 6.8.0 это версии 3.2.0, 3.2.1 и 3.3.0, поэтому при обновлении до более ранних версий версию операционной системы сверяют вручную.