linux-system-roles.image_builder
Nombre del Rol
Instala y configura Image Builder como un nodo de construcción para crear imágenes del sistema operativo Fedora y Red Hat Enterprise Linux. Nota: estas no son imágenes de contenedor, sino imágenes completas del sistema operativo que se pueden desplegar en entornos cloud, virtuales y de hardware físico.
Requisitos
- RHEL/CentOS 7.x dependen de que se habilite el repositorio Extras.
- Si se ejecuta esto en el nodo local, RHEL/CentOS necesitará que se habilite el repositorio de Ansible.
- Depende de linux-system-roles.cockpit para configurar las dependencias de la interfaz gráfica.
- Consideraciones opcionales incluyen:
- usar linux-system-roles.storage para preparar un sistema de archivos dedicado para almacenar los artefactos de imagen.
- usar linux-system-roles.firewall para que la Consola Web esté disponible de forma remota.
Variables del Rol
Por defecto, se instalarán los paquetes principales para la CLI de Image Builder y el servicio de construcción:
vars:
ib_packages: [default, minimal, full]
ib_daemon: [lorax-composer, osbuild-composer]
- minimal (CLI más uno o el otro motor de backend, no ambos)
- lorax-composer # motor de construcción backend y API, basado en lorax del instalador clásico de Anaconda
- osbuild-composer # motor de backend de nueva generación y API
- composer-cli # una interfaz de línea de comandos
- default (incluye GUI de Cockpit)
- cockpit-composer # una interfaz gráfica dentro de la Consola Web de Cockpit
- full (igual que default hoy, puede cambiar en el futuro)
- cockpit-composer # una interfaz gráfica dentro de la Consola Web de Cockpit
Ejemplos de Playbooks
El ejemplo más simple.
---
- hosts: fedora, rhel7, rhel8
become: yes
roles:
- linux-system-roles.image_builder
Un ejemplo más avanzado que puede configurar almacenamiento y firewall opcionales.
- hosts: fedora, rhel7, rhel8
become: yes
# Asume que estás utilizando RHEL System Roles
# yum install --enablerepo=rhel-7-server-ansible-2-rpms rhel-system-roles ansible
#
# Asume roles de 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:
# Ejemplo opcional para configurar un segundo disco en tu nodo para contener
# los artefactos de imagen del sistema operativo creados. Las imágenes mínimas típicas son de ~ 2 GB cada una.
# Otra opción es simplemente enlazar a un recurso compartido NAS.
- name: Configurar almacenamiento para Image Builder
include_role:
name: linux-system-roles.storage
vars:
use_partitions: false
storage_pools:
- name: image_builder
disks: [''] # algo como vdb
state: present
volumes:
- name: composer
size: "20G" # estimar dependiendo de cuántas imágenes se creen
fs_label: "imgbldr"
mount_point: '/var/lib/lorax/composer'
when: CONFIG_STORAGE
# Opcionalmente, usa el rol de Cockpit para instalar toda la suite,
# de lo contrario, el rol de Image Builder instalará las dependencias mínimas para la GUI.
- name: Instalar y habilitar el servicio de Consola Web de RHEL/Fedora (Cockpit)
include_role:
name: linux-system-roles.cockpit
vars:
cockpit_packages: "full" # o "minimal" o "default"
- name: Instalar y habilitar el servicio Image Builder de RHEL/Fedora
include_role:
name: linux-system-roles.image_builder
vars:
ib_packages: "full" # o "minimal" o "default"
- name: Configurar el Firewall para la Consola Web
include_role:
name: linux-system-roles.firewall
vars:
firewall:
service: cockpit
state: enabled
when: USE_FIREWALL
Licencia
GPLv3
Acerca del proyecto
Install and enable Image Builder for building OS images
Instalar
ansible-galaxy install linux-system-roles.image_builder
Licencia
gpl-3.0
Descargas
3k
Propietario