| Оглавление |
|---|
| Информация |
|---|
Модуль 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) .
Последовательность установки:
- Установить и настроить систему управления конфигурациями ansible .
В /etc/apt/sources.list добавить репозиторий, содержащий пакет ansible-module-astra-update:
Command - в Astra Linux Special Edition 1.8 — расширенный репозиторий;
- в Astra Linux Special Edition 1.7 — базовый репозиторий.
Выполнить обновление списка пакетов:
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 запуск модуля возможен с помощью командной строки, например:
| Command |
|---|
ansible <адрес> -m astra_update -a "upgrade=full check_install_disk=no repo=<адрес_репозитория>" --diff --become |
Где:
- -m — параметр для указания модуля ansible, в нашем случае это ansible-astra-update;
- <адрес> —сеть, в которой находятся узлы или имя конкретного узла из /etc/ansible/hosts;
- <адрес_репозитория> — адрес репозитория из которого будет выполняться установка.
Часто используемые параметры команды приведены в разделе ниже. Для выполнения команды не нужны права sudo.
Режимы работы
Модуль 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 :
- Для полного автоматического обновления системы, без взаимодействия с пользователем и автоматическим перезапуском функций безопасности:
Блок кода language yml linenumbers true - name: Полное обновление ОС hosts: all become: true tasks: - name: Обновление пакетов astra_update: upgrade: full check_install_disk: no use_current_sources_list: yes diff: yes
- Проверка возможности установки обновления без внесения изменений в систему:
Блок кода language yml linenumbers true - name: Проверка обновлений hosts: all become: true tasks: - name: Проверить возможность установки обновления astra_update: upgrade: check
- Дополнительный список пакетов для первоочередного обновления:
Блок кода language yml linenumbers true - 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/
- Обновление системы с использованием пакетов из указанного репозитория:
Блок кода language yml linenumbers true - name: Обновление инструментов обновления hosts: all become: true tasks: - name: Обновить инструменты обновления astra_update: upgrade: tools check_install_disk: no use_current_sources_list: yes pkg: - astra-update
...