Модуль ansible astra-update является частью системы управления конфигурациями ansible и предназначен для автоматизации применения инструмента astra-update. |
|
Модуль ansible-astra-update представлен пакетом ansible-module-astra-update. Пакет доступен в составе базового репозитория Astra Linux начиная с обновлений БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4 и БЮЛЛЕТЕНЬ № 2023-0727SE47 (оперативное обновление 4.7.4) .
Последовательность установки:
В /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 update |
Установить пакет с модулем ansible-astra-update с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic ) или из командной строки командой:
| 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 можно выполненной на сервере командой:
ansible all -m apt -a "update_cache=yes name=astra-update state=present" |
После установки модуля и настройки ansible запуск модуля возможен с помощью командной строки:
ansible localhost -m astra_update -a "upgrade=full check_install_disk=no repo=$URL" --diff --become |
Где:
Часто используемые параметры команды приведены в разделе ниже. Для выполнения команды не нужны права 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 | Полная | Режим сравнения. Этот режим позволяет проверить, какие изменения будут выполнены на целевых узлах, но фактически ничего не изменяет. |
| diff | Полная | Режим проверки. Этот режим позволяет видеть различия между текущим состоянием целевых узлов и изменениями, которые 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: 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/ |
- name: Обновление инструментов обновления
hosts: all
become: true
tasks:
- name: Обновить инструменты обновления
astra_update:
upgrade: tools
check_install_disk: no
use_current_sources_list: yes
pkg:
- astra-update |