Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


Оглавление

Информация

Модуль ansible astra-update является частью системы управления конфигурациями ansible и предназначен для автоматизации применения инструмента astra-update. 



Информация
titleДанная статья применима к:


Установка

Модуль ansible-astra-update представлен пакетом ansible-module-astra-update. Пакет доступен начиная с обновлений БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4 и БЮЛЛЕТЕНЬ № 2023-0727SE47 (оперативное обновление 4.7.4) в составе базового репозитория Astra Linux Special Edition.

Последовательность установки:

  1. Установить и настроить систему управления конфигурациями ansible на сервере.
  2. В /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


  3. Выполнить обновление списка пакетов:

    Command

    sudo apt update


  4. Установить пакет с модулем 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

Строка

Используется для выбора варианта обновления:

  1. check  –  Проверить, можно ли устанавливать обновление. Изменения в систему не вносятся. Является эквивалентом параметра "" инструмента astra-update. Это действие по умолчанию.
  2. full – Установить обновление полностью автоматически, не задавая вопросов, выполняя автоматическое выключение и включение функций безопасности. Является эквивалентом параметра "" инструмента astra-update.
  3. tools – Обновить сначала инструменты обновления. Является эквивалентом параметра "-p" инструмента astra-update.
package

Также можно использовать псевдоним: pkg

Список

Список названий пакетов, указываемый при первоначальном обновлении инструментов.

repository

Также можно использовать псевдоним:
repo

СписокСписок источников для обновления.
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 :

  • Для полного автоматического обновления системы, без взаимодействия с пользователем и автоматическим перезапуском функций безопасности:
Блок кода
languageyml
linenumberstrue
- name: Полное обновление ОС
  hosts: all
  become: true
  tasks:
    - name: Обновление пакетов
      astra_update:
        upgrade: full
        check_install_disk: no
        use_current_sources_list: yes
      diff: yes
  • Проверка возможности установки обновления без внесения изменений в систему:
Блок кода
languageyml
linenumberstrue
- name: Проверка обновлений
  hosts: all
  become: true
  tasks:
    - name: Проверить возможность установки обновления
      astra_update:
        upgrade: check
  • Дополнительный список пакетов для первоочередного обновления:
Блок кода
languageyml
linenumberstrue
- name: Обновление инструментов обновления
  hosts: all
  become: true
  tasks:
    - name: Обновить инструменты обновления
      astra_update:
        upgrade: tools
        check_install_disk: no
        use_current_sources_list: yes
        pkg:
          - astra-update
  • Обновление системы с использованием пакетов из указанного репозитория:
Блок кода
languageyml
linenumberstrue
- 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/


...