image_builder
Название Роли
Устанавливает и настраивает Image Builder в качестве узла сборки для создания образов операционных систем Fedora и Red Hat Enterprise Linux. Обратите внимание, это не контейнерные образы, а полные образы ОС, которые могут быть развернуты в облаке, виртуальных средах и на физических серверах.
Требования
- Для RHEL/CentOS 7.x необходимо включить репозиторий Extras.
- Если вы работаете с локальным узлом, нужно включить репозиторий Ansible для RHEL/CentOS.
- Система полагается на linux-system-roles.cockpit для настройки зависимостей для графического интерфейса.
- Дополнительные соображения включают:
- использование linux-system-roles.storage для подготовки выделенной файловой системы для хранения артефактов изображения.
- использование linux-system-roles.firewall для удаленного доступа к веб-консоли.
Переменные Роли
По умолчанию будут установлены основные пакеты для CLI Image Builder и службы сборки:
vars:
ib_packages: [default, minimal, full]
ib_daemon: [lorax-composer, osbuild-composer]
- minimal (CLI плюс один из бэкенд-движков, не оба)
- lorax-composer # бэкенд-движок сборки и API, основанный на lorax из классического установщика Anaconda
- osbuild-composer # следующий поколением бэкенд-движок и API
- composer-cli # интерфейс командной строки
- default (включает GUI из Cockpit)
- cockpit-composer # графический интерфейс в веб-консоли Cockpit
- full (то же, что и default сегодня, может измениться в будущем)
- cockpit-composer # графический интерфейс в веб-консоли Cockpit
Примеры Плейбуков
Самый простой пример.
---
- hosts: fedora, rhel7, rhel8
become: yes
roles:
- linux-system-roles.image_builder
Более сложный пример, который может настроить дополнительное хранилище и брандмауэр.
- hosts: fedora, rhel7, rhel8
become: yes
# Предполагает, что вы используете RHEL System Roles
# yum install --enablerepo=rhel-7-server-ansible-2-rpms rhel-system-roles ansible
#
# Предполагает роли из galaxy
# ansible-galaxy install linux-system-roles.storage
# ansible-galaxy install linux-system-roles.firewall
# ansible-galaxy install linux-system-roles.cockpit
vars:
USE_FIREWALL: 1
CONFIG_STORAGE: 0
tasks:
# Опциональный пример настройки второго диска для вашего узла для хранения
# артефактов образа ОС. Типичные минимальные образы занимают около 2 ГБ каждый.
# Другой вариант - просто создать ссылку на общий доступ NAS.
- name: Настроить хранилище для Image Builder
include_role:
name: linux-system-roles.storage
vars:
use_partitions: false
storage_pools:
- name: image_builder
disks: [''] # что-то вроде vdb
# type: lvm
state: present
volumes:
- name: composer
size: "20G" # оценка в зависимости от количества создаваемых изображений
# type: lvm
# fs_type: xfs
fs_label: "imgbldr"
mount_point: '/var/lib/lorax/composer'
when: CONFIG_STORAGE
# Опционально используйте роль Cockpit для установки полного пакета,
# иначе роль Image Builder установит минимальные зависимости для GUI.
- name: Установить и включить сервис веб-консоли RHEL/Fedora (Cockpit)
include_role:
name: linux-system-roles.cockpit
vars:
cockpit_packages: "full" # или "minimal" или "default"
- name: Установить и включить сервис Image Builder RHEL/Fedora
include_role:
name: linux-system-roles.image_builder
vars:
ib_packages: "full" # или "minimal" или "default"
- name: Настроить брандмауэр для веб-консоли
include_role:
name: linux-system-roles.firewall
vars:
firewall:
service: cockpit
state: enabled
when: USE_FIREWALL
Лицензия
GPLv3
О проекте
Install and enable Image Builder for building OS images
Установить
ansible-galaxy install linux-system-roles/image_builder
Лицензия
gpl-3.0
Загрузки
2899
Владелец