Начало работы#

Для быстрого знакомства с возможностями платформы Astra Automation разверните Automation Controller (далее – контроллер) и с его помощью запустите несложный playbook.

Примечание

Для выполнения инструкций из этого руководства необходима подписка. Чтобы получить пробную подписку, перейдите на сайт Astra Automation и нажмите кнопку Запросить пробную версию платформы бесплатно.

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

Характеристика

Значение

Количество ядер CPU

4

Объем RAM, ГБ

8

Объем хранилища, ГБ

30

Операционная система

Astra Linux Special Edition 1.8.1uu1

Режим защищенности

Базовый («Орел») или усиленный («Воронеж»)

Совет

Вы можете использовать для развертывания контроллера виртуальную машину VirtualBox, созданную с помощью Vagrant. Соответствующий Vagrantfile доступен по ссылке.

Для настройки узла необходим доступ к нему по протоколу SSH, а для работы с самим контроллером – веб-браузер.

Установка контроллера#

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

  1. Подключитесь к целевому узлу по SSH.

  2. В каталоге /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> необходимо подставить версию устанавливаемой платформы, например, 1.2.

    Доступные версии продукта опубликованы в таблице История обновлений.

  3. Обновите список доступных пакетов:

    sudo apt update
    
  4. Установите пакет astra-automation-setup:

    sudo apt install astra-automation-setup --yes
    
  5. Перейдите в каталог /opt/rbta/aa/astra-automation-setup/:

    cd /opt/rbta/aa/astra-automation-setup/
    
  6. Содержимое файла inventory приведите к следующему виду:

    [automationcontroller]
    controller.example.com   ansible_host=<IP>   ansible_connection=local
    
    [all:vars]
    admin_email=vagrant@example.com
    admin_username='admin'
    admin_password='awx'
    ansible_python_interpreter='/usr/bin/python3'
    ansible_ssh_private_key_file='~/.ssh/id_rsa'
    ansible_user='<ansible_user>'
    pg_host=''
    pg_port=5432
    pg_sslmode='prefer'
    

    Здесь:

    • <IP> – IP-адрес узла, на котором развертывается контроллер.

    • <ansible_user> – название учетной записи, от имени которой выполняется настройка узла.

    Если стенд развернут с использованием указанного выше Vagrantfile, подставьте вместо <IP> и <ansible_user> значения 192.168.56.11 и vagrant соответственно.

  7. Запустите установку:

    sudo ./aa-setup --repo-url https://dl.astralinux.ru/aa/aa-debs-for-alse-1.8
    

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

    PLAY RECAP *********************************************************************
    controller.example.com     : ok=324  changed=148  unreachable=0    failed=0    skipped=134  rescued=0    ignored=9
    localhost                  : ok=3    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=1
    
    ――――――――――――――――――――――――――――――――――――――――――
    Astra Automation Setup has been finished
    ――――――――――――――――――――――――――――――――――――――――――
    Astra Automation Controller host:
    https://192.168.56.11/
    
    Login: admin
    Password: awx
    ――――――――――――――――――――――――――――――――――――――――――
    

    Установка считается успешной, если значение параметра failed в обеих строках равно 0.

  8. Для отключения от настраиваемого узла выполните команду:

    exit
    

Настройка контроллера#

  1. Запустите веб-браузер и перейдите по адресу http://<IP>/, где <IP> – IP-адрес узла, на котором развернут контроллер.

    При первом подключении браузер выводит предупреждение о том, что подключение не защищено. Это нормальное поведение, поскольку для защиты подключения контроллер использует самоподписанный сертификат. При использовании браузера на основе Chromium выполните следующие действия:

    1. Нажмите кнопку Дополнительные.

    2. Нажмите ссылку Перейти на сайт <IP> (небезопасно).

  2. Авторизуйтесь в веб-интерфейсе контроллера с учетными данными администратора контроллера. Значения по умолчанию:

    • имя пользователя – admin;

    • пароль – awx.

  3. Активируйте продукт, следуя инструкции.

  4. Создайте и заполните инвентарь:

    1. На панели навигации выберите Ресурсы ‣ Инвентарь (Resources ‣ Inventories).

    2. Нажмите кнопку Добавить (Add) и выберите Добавить инвентарь (Add inventory).

    3. В форме Создать новый инвентарь (Create new inventory) в поле Название (Name) введите строку Quick Start Inventory.

    4. Нажмите кнопку Сохранить (Save). Откроется окно просмотра свойств созданного инвентаря.

    5. Выберите вкладку Управляемые узлы (Managed Nodes).

    6. Нажмите кнопку Добавить (Add).

    7. Заполните форму Создать новый узел (Create New Node):

      • Название (Name): localhost.

      • Переменные (Variables):

        ---
        ansible_host: localhost
        ansible_connection: local
        
    8. Нажмите кнопку Сохранить (Save).

  5. Создайте проект:

    1. На панели навигации выберите Ресурсы ‣ Проекты (Resources ‣ Projects).

    2. Нажмите кнопку Добавить (Add).

    3. Заполните форму Создать новый проект (Create new project):

      • Название (Name): Quick Start Project.

      • Тип системы управления исходными данными (Source Control Type): Git.

      • URL системы управления исходными данными (Source Control URL):

        https://gitflic.ru/project/astra_team/astra-automation-quick-start.git
        
    4. Нажмите кнопку Сохранить (Save).

      Дождитесь завершения синхронизации проекта: значение в поле Статус последнего задания (Last Job Status) должно измениться на Успех (Success).

  6. Создайте шаблон задания:

    1. На панели навигации выберите Ресурсы ‣ Шаблоны (Resources ‣ Templates).

    2. Нажмите кнопку Добавить (Add) и в открывшемся меню выберите Добавить шаблон задания (Add job template).

    3. Заполните форму Создать новый шаблон задания (Create New Job Template):

      1. Название (Name): Quick Start Template.

      2. Тип задания (Job Type): Выполнение (Run).

      3. Инвентарь (Inventory): Quick Start Inventory.

      4. Проект (Project): Quick Start Project.

      5. Playbook: playbooks/quick-start.yml.

    4. Нажмите кнопку Сохранить (Save). Откроется окно просмотра свойств шаблона.

  7. Для запуска задания нажмите кнопку Запустить (Run). Откроется окно просмотра журнала выполнения задания.

  8. Дождитесь перехода задания в статус Успех (Success), после чего обновите страницу браузера. В окне вывода будет отображен журнал выполнения задания, например:

    PLAY [Quick Start Playbook] ****************************************************
    
    TASK [Print Quick Start] *******************************************************
    ok: [localhost] => {
        "msg": "Quick Start with Astra Automation on localhost"
    }
    
    PLAY RECAP *********************************************************************
    localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    

Заключение#

В этом сценарии вы познакомились с основными шагами по развертыванию контроллера и его использованию для настройки управляемых узлов. Из всей последовательности шагов важно выделить следующие действия:

  • Указание учетных данных администратора контроллера в файле inventory.

  • Получение кода проекта из системы контроля версий.

  • Создание инвентаря и записей об управляемых узлах.

  • Создание шаблона и запуск задания на его основе.