Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)

с подключенным компонентом astra-ce расширенного (extended) репозитория

Аннотация

В данной статье представлена инструкция по установке инструмента управления жизненным циклом компьютеров Foreman. Для успешной установки требуется подключение расширенного репозитория. Подробнее про структуру и использование репозиториев см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования.

Внимание!

Программное обеспечение расширенного репозитория является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации.
Подробнее см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition.

При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере). При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном или выделенном уровне МКЦ. Подробнее см. Руководство по КСЗ в составе эксплуатационной документации используемого обновления.

Что такое Foreman

Общая информация

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

Поддержка развертывания (provisioning) позволяет контролировать настройку новых компьютеров, а возможности управления конфигурацией (поддерживаются Puppet, Ansible, Chef и Salt) позволяют автоматизировать повторяющиеся задачи, развертывать приложения и управлять изменениями как физических, локальных виртуальных и облачных машин. Foreman масштабируется, позволяя расти, не теряя единого источника информации об инфраструктуре.

Foreman обеспечивает:

  • подготовку установки на новых компьютерах (с помощью управляемых автоматических установок DHCP, DNS, TFTP и PXE), виртуализации и облака;
  • комплексные средства взаимодействия, включая веб-интерфейс, интерфейс командной строки и RESTful API.

Для развертывания Foreman используется набор модулей Puppet, который устанавливает все необходимое для полноценной рабочей конфигурации Foreman используя собственную систему пакетизации ОС (пакеты .deb) и добавляя необходимые настройки.

Основные возможности Foreman:

  • Создание экземпляров виртуальных машин и управление ими в среде виртуализации, а также в частных и общедоступных облаках;
  • Установка операционных систем через PXE, локальные носители или из шаблонов или образов;
  • Сбор отчеты программного обеспечения, используемого для управления конфигурацией;
  • Логическая группировка хостов для управляйте ими независимо от местоположения;
  • Предоставление истории изменений для аудита или устранения неполадок;
  • Пользовательский веб-интерфейс, JSON REST API и CLI для Linux;
  • Возможность расширения с помощью плагинов;
  • Система авторизации, основанная на управлении доступом на основе ролей (RBAC), позволяет устанавливать строгие политики для пользователей Foreman и совместима с системами аутентификации и авторизации LDAP или FreeIPA;

  • Инвентаризация управляемых компьютеров:

    • Группы узлов сети: группировка узлов сети с общими опциями, параметрами и поддержкой наследования полей;
    • Обнаружение NIC: автоматическое создание сетевых интерфейсов (обычных, связанных, мостовых, VLAN), операционной системы и архитектуры (в соответствии с фактами, сообщаемыми хостами);
    • Общий поиск: эффективный поиск по всему приложению с интеллектуальным завершением;
    • Закладки: сохраненные общие поисковые запросы в виде закладок для повторного использования;
    • Инвентаризация подсетей и доменов: управление любым количеством сетей с помощью модулей Foreman Proxy DHCP и DNS (включая VLAN);
    • IPAM: управление резервированием DHCP на различных провайдерах, таких как ISC DHCP, MS DHCP или Infoblox, бесплатные IP-адреса могут быть выделены «на лету» или через базу данных Foreman;
    • DNS и управление идентификацией: записи DNS или области могут быть автоматически созданы для каждого хоста в инвентаре Foreman;
  • Подготовка к развертыванию:
    • Управление PXE: Foreman обеспечивает полное управление конфигурацией PXE для PXELinux, Grub, Grub2 и iPXE для максимальной гибкости сетевой загрузки;
    • Установка ОС: автоматическая инициализация различных операционных систем с помощью обширного набора шаблонов;
    • Создание виртуальных машин: интеграция с гипервизором libvirt  для создания экземпляров непосредственно из пользовательского интерфейса / API / интерфейса командной строки Foreman либо из образов, либо через PXE;
    • Создание облачных экземпляров: интеграция с облаками, такими как OpenStack, Rackspace, Amazon EC2 или Google Compute Engine, прямо из Foreman UI / API / CLI;
    • Конфигурация сети хоста: шаблоны подготовки, которые создают сетевую конфигурацию для установленных хостов, включая соединение, мост и поддержку магистрали VLAN;
    • Начальная загрузка управления конфигурацией: шаблон для начальной настройки программного обеспечения управления конфигурацией, включая подписание ключей клиента с помощью CA;
    • Возможность управлять адресами IPv6 на интерфейсах без инициализации;
    • Механизм создания шаблонов на основе ERB для рецептов установки ОС (Kickstart, Preseed), заданий (сценарии SSH, задания Ansible), схем разбиения и других типов;
    • Модули или плагины для интеграции с гипервизорами и облачной инфраструктурой;
    • Общие профили вычислений для нескольких облаков или виртуализации (например, xxsmall, large, medium);
    • Обнаружение хостов: новое оборудование после загрузки может регистрироваться в Foreman для автоматической или по требованию подготовки;
    • Подготовка обнаруженных хостов: автоматическая, полуавтоматическая или полностью ручная подготовка обнаруженного оборудования через WebUI / CLI / API;
  • Настраиваемые текстовые отчеты на основе шаблонов данных, доступных в Foreman. Вывод может быть в формате csv, yaml, json. Шаблоны могут содержать дополнительную логику, и отчет можно настроить при его создании;
  • Запуск произвольных команд или сценариев на удаленных хостах с использованием разных провайдеров, таких как SSH или Ansible. Это включает планирование будущих запусков, повторяющееся выполнение, контроль параллелизма, наблюдение за ходом выполнения и вывод в реальном времени;
  • Интеграция с Puppet:
    • Возможность импортировать и анализировать базу исходного кода Puppet и распознавать параметры класса для интеграции глубокого сопоставления через приложение;
    • Интеграция с центром авторизации Puppet CA для автоматического, полуавтоматического или полностью автоматического выпуска сертификатов;
    • Классификатор узлов марионетки (источник ввода) для Puppet Master;
    • Отчеты о конфигурации: перечень отчетов из систем управления конфигурацией с функцией различий, статистикой и графиками времени выполнения;
  • Интеграция с Ansible:
    • Ввозможность импортировать и анализировать исходный код Ansible для более глубокой интеграции. В сочетании с удаленным выполнением обеспечивает управление конфигурацией, такое как пользовательский интерфейс с Ansible. Администратор назначает роли хостам / группам хостов, а затем применяет политику, определенную этими ролями на хосте. Каждый такой запуск Ansible обновляет факты о хосте и генерирует новый отчет о конфигурации. Поведение ролей можно настроить с помощью параметризации Foreman, которая передается в инвентарь Ansible;
    • Отчеты о конфигурации: перечень отчетов из систем управления конфигурацией с функцией различий, статистикой и графиками времени выполнения.
  • Управление соответствием: Управление соответствием: определение политики соответствия с использованием стандартов и инструментов OpenSCAP, а затем применение ее в инфраструктуре. Поддерживает существующие профили XCCDF и адаптирует их в соответствии с потребностями пользователя.
  • Управление контентом: возможность создания, систематизации и управляйте локальными репозиториями пакетов deb и puppet. Синхронизация удаленных репозиториев или прямая загрузка для создания библиотеки контента, служащей основой для создания пользовательских сборок контента;
  • Моментальные снимки контента: возможность создания блоков пользовательских сборок (Content Views);
  • Обновления пакетов и исправлений: использование локально управляемого контента для установки обновлений пакетов и исправлений на узел или группу узлов;
  • Коллекции хостов: механизм статической группировки хостов контента, позволяющий администраторам группировать хосты контента в соответствии с текущими потребностями. Например, хосты содержимого можно сгруппировать по функциям, отделам или бизнес-единицам;

Оригинальная документация

Оригинальная документация Foreman доступна по ссылкам:

Установка пакетов

  1. Подключить репозитории:
    • актуальное оперативное обновление базового репозитория;
    • актуальное оперативное обновление расширенного репозитория;

  2. Обновить список пакетов:

    sudo apt update

  3. Установить пакеты:

    1. В случае, если ОС была установлена без графической оболочки, установить пакет shared-mime-info, команда:

      sudo apt install shared-mime-info

    2. Установить пакет foreman-installer:

      sudo apt install foreman-installer

    3. Дальнейшую настройку выполнять в соответствии с инструкциями Установка и настройка взаимодействия связки Foreman-Puppet, Foreman-Ansible.