null

Astra automation

Рассмотрим установку astra-automation и развёртывание простого сценария. В данном примере рассмотрим простое развёртывание «Контроллер на одном узле» (https://docs.astra-automation.ru/1.1/installation/inventory/aac/single-node/). Вариант когда контроллер и СУБД развёрнуты на одном узле не подходит для промышленной эксплуатации, но он прост в развёртывании, нетребователен к ресурсам и подходит для тестирования и опробации.

Если используется внутренняя СУБД, указывать ее параметры не требуется – она будет развернута на том же узле, что и контроллер.

Сама установка согласно инструкции https://docs.astra-automation.ru/1.1/installation/

Основные параметры при развёртывании на которые стоит обратить внимание.

1. В каталоге /etc/apt/sources.list.d/ создайте файл astra-automation.list со ссылкой на репозиторий Astra Automation:

deb https://dl.astralinux.ru/aa/aa-debs-for-alse-1.7 1.1-upd1 main

2. Установка произойдёт в каталог /opt/rbta/aa/astra-automation-setup. Развертывание считается успешным, если для всех узлов в поле failed указано значение 0.

Прошу обратить внимание на данные лог с сообщениями об ошибках, он довольно подробный и можно увидеть где и с чем у выс проблемы (так же и при обновлении!!!) Поверьте внимательное чтение может сохранить вам до нескольких часов ковыряния непонятно с чем.

 

3. Настраиваем SSH для доступа к узлам

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

В каталоге /opt/rbta/aa/astra-automation-setup/ создайте подкаталог ssh-keys/.

sudo mkdir -p /opt/rbta/aa/astra-automation-setup/ssh-keys/

Перейдите в созданный каталог:

cd /opt/rbta/aa/astra-automation-setup/ssh-keys/

Для каждого узла создайте пару ключей SSH:

sudo ssh-keygen -C "<comment>" -f ./<filename> -N "<password>"

Чтобы разрешить подключение к узлу по SSH с использованием ключей, выполните следующие действия:

  1. В каталоге /etc/ssh/sshd_config.d/ создайте файл ssh_auth_keys со следующим содержимым:

    PubkeyAuthentication  yes
    Authorized KeysFile   .ssh/authorized_keys  .ssh/authorized_keys2

Перезапустите сервер SSH:

sudo systemctl restart ssh
  • В домашнем каталоге пользователя-администратора создайте подкаталог .ssh/, а в нем – файл authorized_keys.

  • Добавьте в файл authorized_keys содержимое соответствующего публичного ключа

Если узел разрешает подключение по SSH с использованием пароля, публичную часть ключей SSH можно разместить с помощью утилиты ssh-copy-id:

ssh-copy-id -i <filename> <user>@<host>

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

Чтобы выключить запрос пароля при использовании sudo, выполните команду:

sudo astra-sudo-control disable

 

4. Использование коллекций Anseble можно посмотреть по данной ссылке https://docs.astra-automation.ru/1.1/automation-hub/collections/. Увы но будем использовать локальный файл для запуска. (в документации очень много полезного добавлен начиная с версии 1.1 Added in version 1.1-upd1., эх чуть раньше бы.)

​​​​​​​

Настройка контроллера и запуск проекта.

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

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

Значения по умолчанию:

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

  • пароль – awx.

Создаём и заполняем инвентарь:

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

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

  3. В форме Создать новый инвентарь (Create new inventory) в поле Название (Name) введите строку You_inventory_name. В поле Организация выберете значение Default.

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

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

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

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

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

    • Переменные (Variables): (введите Ваш узел/узлы для управления)

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

Создаём проект.

Как писал ранее делаем ручное создание. Для этого необходимо перейти на узел с AA через ssh. Переходим в место расположения проектов по умолчанию :  /var/lib/awx/projects и создаём там папку для нашёго проекта test_project

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

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

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

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

    • Организация : Default

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

    • Каталог playbooktest_projec

    1. Нажмите кнопку Сохранить (Save).

Создаём шаблон задания.

Опять же предварительно создаём исполняемый playbook внутри нашего проекта. Переходим /var/lib/awx/projects/test_project и создаём там файл os_users.yml со следующим содержимым (в данном случае создадим пользователя):

---
- name: Manage OS users
  hosts: all
  become: true
  gather_facts: false
  tasks:
    - name: Add the user "testuser"
      ansible.builtin.user:
        name: 'testuser'
        password: "123"
        update_password: on_create
        shell: /bin/bash
        state: present

Дальнейшие действия выполняем в веб интерфейсе AA:

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

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

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

    1. Название (Name): test_user.

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

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

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

    5. Playbook: os_users.yml ​​​​​​.

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

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

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

    ​​​​​​​

 

Как видем задание выполнено и отработало без ошибок. Можем пройти на нашу упровляему систему  и проверить появился ли там данный пользователь. (если ошибок при выполнении недыло и вы корректно расположили ssh ключи то пользователь будет создан, правда очень порублен в правах.)

Вперед

Коротко о себе:

 

 

Работаю в компании Tune IT. Занимаюсь какими-то проектами, связанными с чем-то.

Ничего не найдено. n is 0