Модуль ansible astra-update является частью системы управления конфигурациями ansible и предназначен для автоматизации применения инструмента astra-update.
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10 с установленным БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7), РУСБ.10152-02 с установленным БЮЛЛЕТЕНЬ № 2023-0727SE47 (оперативное обновление 4.7.4)
Установка
Модуль ansible-astra-update представлен пакетом ansible-module-astra-update. Пакет доступен начиная с обновлений БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4 и БЮЛЛЕТЕНЬ № 2023-0727SE47 (оперативное обновление 4.7.4) в составе базового репозитория Astra Linux Special Edition.
Перед установкой модуля необходимо:
- Установить и настроить систему управления конфигурациями ansible на сервере.
В /etc/apt/sources.list добавить репозиторий, содержащий пакет ansible-module-astra-update :
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-freeВыполнить обновление списка пакетов:
sudo apt install update
Следует учитывать, что для применения модуля ansible astra-update на подчиненных узлах должен быть установлен инструмент astra-update. Инструмент доступен начиная с Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным оперативным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (очередное обновление 7).
Установить инструмент astra-update на подчиненных узлах с помощью ansible можно командой, выполненной на сервере:
Запуск модуля
После установки модуля и настройки ansible запуск модуля возможен с помощью командной строки:
- -m – параметр для указания модуля ansible, в нашем случае это astra-update;
- localhost – сеть, в которой находятся узлы или имя конкретного узла;
- $URL – переменная окружения, которая будет заменена на фактический URL-адрес репозитория.
Часто используемые параметры команды приведены в разделе ниже. Для выполнения команды не нужны права sudo.
Параметры
Список параметров модуля ansible-astra-update для ansible. При запуске может быть выбрано одновременно несколько параметров.
Параметр | Тип данных | Описания действия |
---|---|---|
upgrade | Строка | Используется для выбора варианта обновления:
|
package Также можно использовать псевдоним: pkg | Список | Список названий пакетов, указываемый при первоначальном обновлении инструментов. |
repository | Список | Список источников для обновления. |
use_current_sources_list | Логический | Установка обновления из репозиториев /etc/apt/sources.list (без изменений самого файла). По умолчанию установлен в значение false. |
install_latest_kernel | Логический | Установить последнее ядро linux в процессе обновления |
check_install_disk | Логический | Искать репозиторий установочного диска. По умолчанию установлен в значение true. |
Режимы работы
Модуль ansible-astra-update для ansible поддерживает следующие режимы работы ansible с узлами:
Режим | Поддержка режима модулем astra-update | Описания действия |
---|---|---|
check_mode | Полная | Режим сравнения. Этот режим позволяет проверить, какие изменения будут выполнены на целевых узлах, но фактически ничего не изменяет. |
diff_mode | Полная | Режим проверки. Этот режим позволяет видеть различия между текущим состоянием целевых узлов и изменениями, которые ansible собирается выполнить. Когда параметр diff_mode установлен в yes, ansible будет показывать изменения в файлах или конфигурациях, аналогично выводу утилиты diff, чтобы оценить изменения до их фактического применения. |
Плейбуки
Плейбуки (playbooks) это файлы конфигурации ansible, написанные на языке YAML и содержащие описание действий, выполняемых на удаленных узлах. Плейбуки могут включать в себя различные задачи, такие как установка обновлений и отдельных программ, конфигурация системы на каждом узле, управление сервисами и т.д..
Примеры настройки плейбуков
Плейбуки создаются в каталоге /etc/ansible/playbooks как отдельные YAML-файлы.
При формировании плейбуков следует учитывать отступы и разграничивать секции отдельных инструкций как это показано в приведенных ниже примерах настройки. В противном случае при их выполнении будут возникать ошибки.
Ниже представлены примеры содержимого плейбуков для управления узлами из списка /etc/ansible/hosts :
- Для полного автоматического обновления системы, без взаимодействия с пользователем и автоматическим перезапуском функций безопасности:
- name: Полное обновление ОС hosts: all become: true tasks: - name: Обновление пакетов astra_update: upgrade: full check_install_disk: no use_current_sources_list: yes diff: yes
- Проверка возможности установки обновления без внесения изменений в систему:
- name: Проверка обновлений hosts: all become: true tasks: - name: Проверить возможность установки обновления astra_update: upgrade: check
- Дополнительный список пакетов для первоочередного обновления:
- name: Обновление инструментов обновления hosts: all become: true tasks: - name: Обновить инструменты обновления astra_update: upgrade: tools check_install_disk: no use_current_sources_list: yes pkg: - astra-update
- Обновление системы с использованием пакетов из указанного репозитория:
- name: Обновление системы с помощью интернета hosts: all become: true tasks: - name: Обновление системы с использованием интернет-репозиториев astra_update: upgrade: full repository: - https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ - https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update/