linux-system-roles.image_builder

Rollenname

Installiert und konfiguriert den Image Builder als Build-Knoten, um Fedora- und Red Hat Enterprise Linux-Betriebssystemabbilder zu erstellen. Beachten Sie, dass dies keine Containerabbilder sind, sondern vollständige Betriebssystemabbilder, die in Cloud-, virtuellen und Bare-Metal-Umgebungen bereitgestellt werden können.

Anforderungen

  1. RHEL/CentOS 7.x hängt davon ab, dass das Extras-Repository aktiviert ist.
  2. Wenn dieser Dienst auf dem lokalen Knoten ausgeführt wird, muss das Ansible-Repository aktiviert sein.
  3. Es wird auf linux-system-roles.cockpit vertraut, um Abhängigkeiten für die grafische Benutzeroberfläche einzurichten.
  4. Optionale Überlegungen sind:
    • Verwendung von linux-system-roles.storage zur Vorbereitung eines dedizierten Dateisystems zur Speicherung der Abbildartefakte.
    • Verwendung von linux-system-roles.firewall, um die Web-Konsole remote verfügbar zu machen.

Rollenvariablen

Standardmäßig werden die Kernpakete für die Image Builder CLI und den Build-Dienst installiert:

  vars:
    ib_packages: [default, minimal, full]
    ib_daemon: [lorax-composer, osbuild-composer]
  • minimal (CLI plus eine der beiden Backend-Engines, nicht beide)
    • lorax-composer # Backend-Bau-Engine und API, basierend auf lorax vom klassischen Anaconda-Installer
    • osbuild-composer # Next-Gen-Bau-Engine und API
    • composer-cli # eine Befehlszeilenschnittstelle
  • default (einschließlich GUI von Cockpit)
    • cockpit-composer # eine grafische Benutzeroberfläche innerhalb der Cockpit-Webkonsole
  • full (gleiche wie standardmäßig heute, kann sich in Zukunft ändern)
    • cockpit-composer # eine grafische Benutzeroberfläche innerhalb der Cockpit-Webkonsole

Beispiel-Playbooks

Das einfachste Beispiel.

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

Ein fortgeschritteneres Beispiel, das optionale Speicher- und Firewall-Konfigurationen ermöglicht.

- hosts: fedora, rhel7, rhel8
  become: yes

# Geht davon aus, dass Sie RHEL Systemrollen verwenden
#   yum install --enablerepo=rhel-7-server-ansible-2-rpms rhel-system-roles ansible
#
# Geht davon aus, dass Rollen aus Galaxy verwendet werden
#   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:
    # Optionales Beispiel zur Konfiguration einer zweiten Festplatte für Ihren Knoten, um
    # die erstellten Betriebssystemabbilder zu speichern. Typische minimale Abbilder sind ~ 2 GB groß.
    # Eine andere Möglichkeit ist es, einfach auf einen NAS-Share zu verlinken.
    - name: Speicherkonfiguration für den Image Builder
      include_role:
        name: linux-system-roles.storage
      vars:
        use_partitions: false
        storage_pools:
          - name: image_builder
            disks: ['']  # etwas wie vdb
            # type: lvm
            state: present
            volumes:
              - name: composer
                size: "20G"     # Schätzung je nach Anzahl der erstellten Abbilder
                # type: lvm
                # fs_type: xfs
                fs_label: "imgbldr"
                mount_point: '/var/lib/lorax/composer'
      when: CONFIG_STORAGE

  # Optional die Cockpit-Rolle verwenden, um die vollständige Suite zu installieren,
  # andernfalls installiert die Image Builder-Rolle die minimalen Abhängigkeiten für die GUI.
  - name: RHEL/Fedora Webkonsole (Cockpit) Dienst installieren und aktivieren
    include_role:
      name: linux-system-roles.cockpit
    vars:
      cockpit_packages: "full"   # oder "minimal" oder "default"

  - name: RHEL/Fedora Image Builder Dienst installieren und aktivieren
    include_role:
      name: linux-system-roles.image_builder
    vars:
      ib_packages: "full"   # oder "minimal" oder "default"

  - name: Firewall für die Webkonsole konfigurieren
    include_role:
      name: linux-system-roles.firewall
    vars:
      firewall:
        service: cockpit
        state: enabled
    when: USE_FIREWALL

Lizenz

GPLv3

Über das Projekt

Install and enable Image Builder for building OS images

Installieren
ansible-galaxy install linux-system-roles.image_builder
Lizenz
gpl-3.0
Downloads
3k