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

  1. RHEL/CentOS 7.x dependen de que se habilite el repositorio Extras.
  2. Si se ejecuta esto en el nodo local, RHEL/CentOS necesitará que se habilite el repositorio de Ansible.
  3. Depende de linux-system-roles.cockpit para configurar las dependencias de la interfaz gráfica.
  4. 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