Оглавление |
---|
Информация |
---|
Модуль Ansible связан с системой управления конфигурациями ansible astra-update является частью системы управления конфигурациями ansible и предназначен для автоматизации применения инструмента astra-update. |
Информация | ||
---|---|---|
| ||
|
Установка
Пакет Модуль ansible-astra-update представлен пакетом ansible-module-astra-update. Пакет доступен начиная с обновления обновлений БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4 и БЮЛЛЕТЕНЬ № 2023-0727SE47 (оперативное обновление 4.7.x4) в составе базового (base) репозитория Astra Linux Special Edition.
Последовательность установки:
- Установить
- и настроить систему управления конфигурациями ansible на сервере.
В /etc/apt/sources.list добавить репозиторий, содержащий пакет ansible-module-astra-update :
Command deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
Выполнить обновление списка пакетов:
Command sudo apt update
Установить пакет с модулем ansible-astra-update с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки командой:
Command sudo apt install ansible-module-astra-update
Информация |
---|
Для применения модуля ansible astra-update на подчиненных узлах должен быть установлен инструмент astra-update. Инструмент доступен начиная с Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным оперативным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (очередное обновление 7). |
Установить инструмент astra-update на подчиненных узлах, указанных в /etc/ansible/hosts c помощью ansible можно выполненной на сервере командой:
Command |
---|
ansible all -m apt -a "update_cache=yes name=astra-update state=present" |
Запуск модуля
После установки модуля и настройки ansible запуск модуля возможен с помощью командной строки:
Command |
---|
ansible localhost -m astra_update -a "upgrade=full check_install_disk=no repo=$URL" --diff --become |
Где:
- -m – параметр для указания модуля ansible, в нашем случае это ansible-astra-update;
- localhost – сеть, в которой находятся узлы или имя конкретного узла из /etc/ansible/hosts;
- $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/ |
Alert |
---|
При формировании плейбуков следует учитывать отступы и разграничивать секции отдельных инструкций как это показано в приведенных в данном разделе примерах |
Альтернативный запуск модуля
Запуск модуля возможен с помощью командной строки:
Command |
---|
ansible localhost -m astra_update -a "upgrade=full check_install_disk=no repo=$URL" --diff --become |
Где:
$URL – переменная окружения, которая будет заменена на фактический URL-адрес репозитория.