Начало работы#
В этом руководстве рассматривается развертывание Astra Automation Controller и его использование для настройки управляемого узла.
В качестве стенда используются две ВМ VirtualBox, созданные с помощью Vagrant. Они обладают следующими характеристиками:
ВМ для Astra Automation Controller:
количество ядер CPU – 4;
объем RAM, ГБ – 8;
объем хранилища, ГБ – 30;
операционная система – Astra Linux Special Edition 1.7.4 без графического интерфейса;
IP-адрес –
192.168.56.11
.
Управляемый узел:
количество ядер CPU – 2;
объем RAM, ГБ – 2;
объем хранилища, ГБ – 30;
операционная система – Astra Linux Special Edition 1.7.4 без графического интерфейса;
IP-адрес –
192.168.56.101
.
Для настройки обеих ВМ используется подключение по протоколу SSH, для работы с контроллером – веб-браузер.
Подготовка к работе#
Для создания стенда выполните следующие действия:
Установите VirtualBox, Vagrant и его расширение для работы с образами Astra Linux согласно инструкции.
Создайте каталог для хранения файлов проекта. Далее этот каталог называется каталогом проекта.
В каталоге проекта создайте
Vagrantfile
со следующим содержимым:# frozen_string_literal: true Vagrant.configure('2') do |config| config.vm.box = 'alse-vanilla-base/1.7.4' config.vm.box_url = 'https://dl.astralinux.ru/vagrant/alse-vanilla-base%2F1.7.4' # Astra Automation Controller config.vm.define 'aac' do |aac| aac.vm.hostname = 'aac' aac.vm.provider 'virtualbox' do |vb| vb.cpus = 4 vb.memory = 8192 # 8 GB end aac.vm.network 'private_network', ip: '192.168.56.11' end # Управляемый узел для развертывания NGINX config.vm.define 'node01' do |node01| node01.vm.hostname = 'node01' node01.vm.provider 'virtualbox' do |vb| vb.cpus = 2 vb.memory = 2248 # 2 GB end node01.vm.network 'private_network', ip: '192.168.56.101' end end
Для создания и запуска ВМ с помощью Vagrant в каталоге проекта выполните команду:
vagrant up
Установка контроллера#
Для установки контроллера выполните следующие действия:
Чтобы подключиться к ВМ для контроллера, в каталоге проекта выполните команду:
vagrant ssh aac
В каталоге
/etc/apt/sources.list.d/
создайте файлastra-automation.list
со ссылкой на репозиторий Astra Automation:deb https://dl.astralinux.ru/aa/aa-debs-for-alse-1.7 <version> main
Вместо <version> необходимо подставить версию устанавливаемой платформы, например,
1.1
.Доступные версии продукта опубликованы в таблице История обновлений.
Обновите список доступных пакетов:
sudo apt update
Установите пакет
astra-automation-setup
:sudo apt install astra-automation-setup --yes
Перейдите в каталог
/opt/rbta/aa/astra-automation-setup/
:cd /opt/rbta/aa/astra-automation-setup/
Раздел
[automationcontroller]
в файлеinventory
приведите к следующему виду:[automationcontroller] aac.example.com ansible_host=192.168.56.11 ansible_connection=local
Здесь:
aac.example.com
– название узла;192.168.56.11
– IP-адрес настраиваемого узла.
Запустите установку:
sudo ./aa-setup
Дождитесь завершения выполнения команды, это может занять некоторое время. По окончании установки в терминал выводится строка вида:
Установка считается успешной, если в поле
failed
указано значение0
.Для отключения от ВМ выполните команду:
exit
Настройка управляемого узла#
Чтобы к управляемому узлу можно было подключаться по SSH, в настройках сервера следует разрешить парольную аутентификацию. Для этого:
Чтобы подключиться к управляемому узлу, в каталоге проекта выполните команду:
vagrant ssh node01
В каталоге
/etc/ssh/sshd_config.d/
создайте файлpass-auth.conf
со следующим содержимым:PasswordAuthentication yes
Перезапустите службу SSH:
sudo systemctl restart ssh.service
Для отключения от ВМ выполните команду:
exit
Настройка контроллера#
Запустите веб-браузер и перейдите по адресу
http://192.168.56.11/
.При первом подключении браузер выводит предупреждение о том, что подключение не защищено. Это нормальное поведение, поскольку для защиты подключения контроллер использует самоподписанный сертификат. При использовании браузера на основе Chromium выполните следующие действия:
Нажмите кнопку Дополнительные.
Нажмите ссылку Перейти на сайт 192.168.56.11 (небезопасно).
Авторизуйтесь в веб-интерфейсе контроллера с учетными данными по умолчанию:
Имя пользователя (Username):
admin
.Пароль (Password):
awx
.
Создайте новую запись в инвентаре:
На панели навигации выберите
( ).Нажмите кнопку Добавить (Add) и в открывшемся меню выберите Добавить инвентарь (Add inventory).
Заполните форму Создать новый инвентарь (Create new inventory):
Название (Name): NGINX inventory.
Нажмите кнопку Сохранить (Save).
Добавьте управляемый узел в инвентарь:
На странице созданного инвентаря выберите вкладку Управляемые узлы (Hosts).
Нажмите кнопку Добавить (Add).
Заполните форму Создать новый узел (Create new host):
Название (Name):
node01
.Переменные (Variables): выберите формат YAML и введите строки:
--- ansible_host: "192.168.56.101" ansible_user: "vagrant"
Нажмите кнопку Сохранить (Save).
Создайте полномочие для доступа к управляемому узлу:
На панели навигации выберите
( ).Нажмите кнопку Добавить (Add).
Заполните форму Создать новые учетные данные (Create New Credentials):
Название (Name): произвольное название записи, например,
NGINX
.Тип полномочия (Credential Type): Машина (Machine).
Имя пользователя (Username):
vagrant
.Пароль (Password):
vagrant
.
Нажмите кнопку Сохранить (Save).
Создайте полномочие для доступа к реестру Astra Automation Hub:
На панели навигации выберите
( ).Нажмите кнопку Добавить (Add).
Заполните форму Создать новые учетные данные (Create New Credentials):
Название (Name): произвольное название полномочия, например,
Astra Automation Hub
.Тип полномочия (Credential Type): Управление версиями (Source control).
Закрытый ключ SCM (SCM Private Key): содержимое приватного ключа SSH, используемого для доступа к реестру Astra Automation Hub.
Парольная фраза закрытого ключа (Private Key Passphrase): если приватный ключ SSH защищен паролем, укажите его в этом поле.
Нажмите кнопку Сохранить (Save).
Создайте новый проект:
На панели навигации выберите
( ).Нажмите кнопку Добавить (Add).
Заполните форму Создать новый проект (Create New Project):
Название (Name): укажите произвольное название проекта, например,
Развертывание NGINX
.Тип системы управления исходными данными (Source Control Type): Git.
URL системы управления исходными данными (Source Control URL):
ssh://git@hub.astra-automation.ru:2222/aa-gca/AA/aac-samples.git
Полномочия на систему управления исходными данными (Source Control Credential): выберите созданное ранее полномочие
Astra Automation Hub
.
Нажмите кнопку Сохранить (Save).
Дождитесь окончания создания проекта – это может занять некоторое время.
Об успешном создании проекта свидетельствует значение Успех (Successfull) в поле Статус последнего задания (Last Job Status).
Создайте шаблон задания:
На панели навигации выберите
( ).Нажмите кнопку Добавить (Add) и в открывшемся меню выберите Добавить шаблон задания (Add job template).
Заполните форму Создать новый шаблон задания (Create New Job Template):
Название (Name): укажите произвольное название проекта, например,
Развертывание NGINX
.Тип задания (Job Type): Выполнение (Run).
Инвентарь (Inventory): выберите созданную ранее запись
NGINX inventory
.Проект (Project): выберите созданный ранее проект.
Playbook: выберите playbook
nginx/site.yml
.Учетные данные (Credentials): выберите созданное ранее полномочие
NGINX
.
Нажмите кнопку Сохранить (Save).
Запустите задание:
На панели навигации выберите
( ).В строке с созданным шаблоном задания в колонке Действия (Actions) нажмите кнопку запуска.
Дождитесь выполнения playbook.
Проверка развернутой инфраструктуры#
Чтобы проверить корректность развертывания веб-сервера NGINX, выполните следующие действия:
Чтобы подключиться к управляемому узлу, в каталоге проекта выполните команду:
vagrant ssh node01
Проверьте статус службы
nginx
:systemctl status nginx.service
При успешном развертывании в терминал выводится сообщение вида:
Освобождение ресурсов#
Если созданные ВМ больше не нужны, для их остановки и удаления в каталоге проекта выполните команду:
vagrant destroy --force
Заключение#
В этом сценарии вы познакомились с основными шагами по развертыванию Astra Automation Controller и его использованию для настройки управляемых узлов. Из всей последовательности шагов важно выделить следующие действия:
Подготовка окружения.
Указание учетных данных администратора контроллера в файле
inventory
.Создание записей в инвентаре.
Создание полномочий, используемых для доступа к управляемым узлам и реестру Astra Automation Hub.
Создание проекта.
Настройка шаблона задания.
Запуск задания.