Общая информация
Инструмент 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 доступна по ссылкам: