ALD Pro#

ALD Pro – это набор сетевых служб сервера Astra Linux для организации централизованного управления ИТ-инфраструктурой. Развертывание домена ALD Pro с использованием коллекции astra.ald_pro из реестра Astra Automation Hub позволяет автоматизировать большую часть рутинных операций.

Структура#

Домен ALD Pro может состоять из контроллера домена, его реплик и клиентов домена. Для настройки каждого компонента существует отдельная роль:

  • astra.ald_pro.controller – контроллер домена;

  • astra.ald_pro.replica – реплики контроллера домена (опционально);

  • astra.ald_pro.client – клиенты контроллера домена.

Также в состав коллекции входит роль astra.ald_pro.common, однако, ее непосредственное использование не допускается. Эта служебная роль, которая используется другими ролями.

Важно

Применение к узлу роли astra.ald_pro.controller или astra.ald_pro.replica приводит к развертыванию на нем всех служб домена.

Параметры настройки#

Для настройки параметров домена необходимо присвоить соответствующие значения переменным роли.

Роль 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.

  • aldpro_start_upgrade – флаг, указывающий, что выполняется обновление версии ALD Pro, а не развертывание контроллера домена.

    Значение по умолчанию – false.

Роль astra.ald_pro.replica#

Роль astra.ald_pro.replica используется для настройки реплик контроллера домена ALD Pro.

Переменные роли:

  • aldpro_pdc_ip – IP-адрес контроллера домена, например, 192.168.56.10.

  • aldpro_pdc_name – краткое имя контроллера домена.

    Например, если FQDN контроллера домена – dc1.moscow.example.com, то краткое имя – dc1.

  • aldpro_dc_site_name – название сайта ALD Pro.

    Значение по умолчанию – Головной офис.

Развертывание реплики происходит в два этапа:

  1. развертывание служб клиента домена;

  2. преобразование клиента домена в реплику.

Если службы клиента домена уже настроены, этот этап развертывания реплики можно пропустить. Для этого необходимо выполнить следующие действия:

  1. Добавить в playbook для соответствующего задания тег replica, например:

    ---
    - name: Enrolling ALD Pro replica
      hosts: replicas
      become: true
      tags: replica
      roles:
        - astra.ald_pro.replica
    
  2. Запустить playbook с тегом replica.

    ansible-playbook --inventory inventory.yml --tags replica playbook.yml
    

Роль 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.

  • aldpro_repo – список ссылок на репозитории, которые следует использовать для установки пакетов ALD Pro.

    Например, для развертывания ALD Pro версии 2.2.1 эта ссылка может иметь следующий вид:

    deb https://dl.astralinux.ru/aldpro/frozen/01/2.2.1 1.7_x86-64 main base
    
  • aldpro_start_upgrade – если значение этой переменной равно true, производится обновление ALD Pro до более новой версии. При значении false происходит развертывание контроллера и реплик, ввод клиентов в домен.

  • aldpro_main_repo_upgrade – список ссылок на репозитории, которые следует использовать для обновления пакетов ALD Pro.

    Например, для обновления ALD Pro до версии 2.2.1 эта ссылка может иметь следующий вид:

    deb https://dl.astralinux.ru/aldpro/frozen/01/2.2.1 1.7_x86-64 main base
    
  • aldpro_upgrade_hosts_list – список узлов, на которых необходимо обновить версию ALD Pro.

Обязательные переменные#

При использовании ролей обязательны для заполнения следующие переменные:

  • astra.ald_pro.controller:

    • aldpro_admin_password;

    • aldpro_domain;

    • aldpro_main_repo_upgrade;

    • aldpro_repo;

  • astra.ald_pro.replica:

    • aldpro_admin_password;

    • aldpro_dc_site_name;

    • aldpro_domain;

    • aldpro_main_repo_upgrade;

    • aldpro_pdc_ip;

    • aldpro_pdc_name;

    • aldpro_repo;

  • astra.ald_pro.client:

    • aldpro_admin_password;

    • aldpro_domain;

    • aldpro_main_repo_upgrade;

    • aldpro_pdc_ip;

    • aldpro_pdc_name;

    • aldpro_repo.

Последовательность применения#

Для применения указанной коллекции выполните следующие действия:

  1. Подготовьте узлы с необходимыми техническими характеристиками.

    Требования к техническим характеристикам узлов и методики расчета приведены в документе РДЦП.10101-01 95 01 «Программный комплекс «ALD Pro». Руководство администратора. Инструкция по развертыванию и обновлению», п. 1.4 «Рекомендации по планированию ресурсов службы каталога».

  2. Подготовьте узлы к настройке с помощью Ansible:

  3. Создайте каталог проекта, например:

    mkdir ald-pro-enrolling
    

    Все упомянутые ниже файлы следует создавать в каталоге проекта, если только явно не указано иное.

  4. Создайте файл с настройками Ansible ansible.cfg:

    [defaults]
    collections_path = ./collections
    host_key_checking = false
    interpreter_python = /usr/bin/python3
    inventory = inventory.ini
    
  5. Создайте файл инвентаря inventory.ini и добавьте в него сведения об управляемых узлах, например:

    [all]
    dc1       ansible_host=192.168.56.101
    rp1       ansible_host=192.168.56.102
    client1   ansible_host=192.168.56.111
    client2   ansible_host=192.168.56.112
    
    [all:vars]
    ansible_python_intepreter=/usr/bin/python3
    ansible_user=vagrant
    
    [controllers]
    dc1
    
    [replicas]
    rp1
    
    [clients]
    client1
    client2
    
  6. Создайте файл с переменными variables.yml, например:

    ---
    aldpro_admin_password: "aldpropass123456"
    aldpro_dc_site_name: "Центральный офис"
    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.101"
    aldpro_pdc_name: "dc1"
    aldpro_repo:
      - "deb https://dl.astralinux.ru/aldpro/frozen/01/2.2.1 1.7_x86-64 main base"
    aldpro_start_upgrade: false
    
  7. Создайте файл зависимостей Ansible requirements.yml, в который добавьте ссылку на загрузку коллекции astra.ald_pro, например:

    ---
    collections:
      - name: astra.ald_pro
        type: git
        source: ssh://git@hub.astra-automation.ru:2222/aa-gca/ARFA/ald_pro.git
        version: 0.8.3
    
  8. Установите зависимости:

    ansible-galaxy collection install -r requirements.yml
    
  9. Создайте файл playbook, в который добавьте роли для всех узлов домена, например:

    ---
    - name: Enrolling ALD Pro domain controller
      hosts: controllers
      become: true
      vars_files:
        - variables.yml
    
      roles:
        - astra.ald_pro.controller
    
    - name: Enrolling ALD Pro domain replicas
      hosts: replicas
      become: true
    
      roles:
        - astra.ald_pro.replica
    
    - name: Enrolling ADL Pro clients
      hosts: clients
      become: true
    
      roles:
        - astra.ald_pro.client
    
  10. Запустите выполнение playbook.