linux-system-roles.image_builder

Nom du Rôle

Installe et configure Image Builder comme nœud de construction pour créer des images du système d'exploitation Fedora et Red Hat Enterprise Linux. Notez qu'il ne s'agit pas d'images de conteneurs, mais plutôt d'images complètes du système d'exploitation qui peuvent être déployées dans des environnements cloud, virtuels ou sur du matériel nu.

Exigences

  1. RHEL/CentOS 7.x dépendent de l'activation du dépôt Extras.
  2. Si vous exécutez cela sur le nœud local, RHEL/CentOS aura besoin du dépôt Ansible activé.
  3. Dépend de linux-system-roles.cockpit pour configurer les dépendances de l'interface graphique.
  4. Considérations optionnelles incluent :
    • utiliser linux-system-roles.storage pour préparation d'un système de fichiers dédié pour stocker les artefacts d'image.
    • utiliser linux-system-roles.firewall pour rendre la console Web accessible à distance.

Variables du Rôle

Par défaut, les paquets principaux pour l'interface de ligne de commande Image Builder et le service de construction seront installés :

  vars:
    ib_packages: [default, minimal, full]
    ib_daemon: [lorax-composer, osbuild-composer]
  • minimal (CLI plus un moteur de backend, pas les deux)
    • lorax-composer # moteur de construction et API de backend, basé sur lorax de l'installateur Anaconda classique
    • osbuild-composer # moteur de backend et API de nouvelle génération
    • composer-cli # une interface de ligne de commande
  • default (inclut l'interface graphique de Cockpit)
    • cockpit-composer # une interface frontale graphique dans la console web Cockpit
  • full (identique à default aujourd'hui, peut changer à l'avenir)
    • cockpit-composer # une interface frontale graphique dans la console web Cockpit

Exemples de Playbooks

L'exemple le plus simple.

---
- hosts: fedora, rhel7, rhel8
  become: yes
  roles:
    - linux-system-roles.image_builder

Un exemple plus avancé qui peut configurer un stockage et un pare-feu optionnels.

- hosts: fedora, rhel7, rhel8
  become: yes

# Supposons que vous utilisez RHEL System Roles
#   yum install --enablerepo=rhel-7-server-ansible-2-rpms rhel-system-roles ansible
#
# Supposons les rôles provenant 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:
    # Exemple optionnel pour configurer un deuxième disque pour votre nœud afin de contenir
    # les artefacts d'image de système d'exploitation créés. Les images minimales typiques font environ 2 Go chacune.
    # Une autre option est de simplement lier à un partage NAS.
    - name: Configurer le stockage pour Image Builder
      include_role:
        name: linux-system-roles.storage
      vars:
        use_partitions: false
        storage_pools:
          - name: image_builder
            disks: ['']  # quelque chose comme vdb
            # type: lvm
            state: present
            volumes:
              - name: composer
                size: "20G"     # estimation selon le nombre d'images créées
                # type: lvm
                # fs_type: xfs
                fs_label: "imgbldr"
                mount_point: '/var/lib/lorax/composer'
      when: CONFIG_STORAGE

  # Vous pouvez également utiliser le rôle Cockpit pour installer l'ensemble complet,
  # sinon le rôle Image Builder installera les dépendances minimales pour l'interface graphique.
  - name: Installer et activer le service RHEL/Fedora Web Console (Cockpit)
    include_role:
      name: linux-system-roles.cockpit
    vars:
      cockpit_packages: "full"   # ou "minimal" ou "default"

  - name: Installer et activer le service RHEL/Fedora Image Builder
    include_role:
      name: linux-system-roles.image_builder
    vars:
      ib_packages: "full"   # ou "minimal" ou "default"

  - name: Configurer le pare-feu pour la console Web
    include_role:
      name: linux-system-roles.firewall
    vars:
      firewall:
        service: cockpit
        state: enabled
    when: USE_FIREWALL

Licence

GPLv3

À propos du projet

Install and enable Image Builder for building OS images

Installer
ansible-galaxy install linux-system-roles.image_builder
Licence
gpl-3.0
Téléchargements
3k
Propriétaire