Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Оглавление

Информация

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



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


Установка

Модуль ansible-astra-update представлен пакетом ansible-module-astra-update. Пакет доступен в составе базового репозитория Astra Linux начиная с обновлений БЮЛЛЕТЕНЬ № 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

Полная

Режим сравнения. Этот режим позволяет проверить, какие изменения будут выполнены на целевых узлах, но фактически ничего не изменяет.

diff

Полная

Режим проверки. Этот режим позволяет видеть различия между текущим состоянием целевых узлов и изменениями, которые 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/


...