linux-system-roles.image_builder

Nazwa Roli

Instaluje i konfiguruje Image Builder jako węzeł budowlany do tworzenia obrazów systemu Fedora i Red Hat Enterprise Linux. Należy zauważyć, że są to pełne obrazy systemu operacyjnego, które mogą być wykorzystywane w chmurze, w wirtualnych środowiskach oraz na serwerach fizycznych, a nie obrazy kontenerowe.

Wymagania

  1. RHEL/CentOS 7.x wymaga włączenia repozytorium Extras.
  2. Jeśli uruchamiasz to na lokalnym węźle, RHEL/CentOS będzie potrzebować włączonego repozytorium Ansible.
  3. Polega na linux-system-roles.cockpit do ustawienia zależności dla graficznego interfejsu użytkownika.
  4. Opcjonalne rozważania to:
    • użycie linux-system-roles.storage do przygotowania dedykowanego systemu plików do przechowywania artefaktów obrazów.
    • użycie linux-system-roles.firewall, aby umożliwić zdalny dostęp do Konsoli Web.

Zmienne Roli

Domyślnie będą instalowane podstawowe pakiety dla CLI Image Builder oraz usługi budowania:

  vars:
    ib_packages: [default, minimal, full]
    ib_daemon: [lorax-composer, osbuild-composer]
  • minimal (CLI plus jeden z backendów, a nie oba)
    • lorax-composer # backend silnika budującego i API, oparty na lorax z klasycznego instalatora Anaconda
    • osbuild-composer # nowoczesny backend i API
    • composer-cli # interfejs wiersza poleceń
  • default (zawiera GUI z Cockpit)
    • cockpit-composer # graficzny interfejs w Konsoli Web Cockpit
  • full (to samo, co domyślnie, może się zmienić w przyszłości)
    • cockpit-composer # graficzny interfejs w Konsoli Web Cockpit

Przykłady Playbooków

Najprostszy przykład.

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

Bardziej zaawansowany przykład, który może konfigurować opcjonalne magazynowanie i zaporę.

- hosts: fedora, rhel7, rhel8
  become: yes

# Zakłada, że używasz RHEL System Roles
#   yum install --enablerepo=rhel-7-server-ansible-2-rpms rhel-system-roles ansible
#
# Zakłada rolki z 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:
    # Opcjonalny przykład konfiguracji drugiego dysku dla węzła,
    # aby pomieścić artefakty obrazów systemu. Typowe minimalne obrazy mają ~ 2 GB każdy.
    # Inną opcją jest po prostu podlinkowanie do udziału NAS.
    - name: Konfiguracja magazynowania dla Image Builder
      include_role:
        name: linux-system-roles.storage
      vars:
        use_partitions: false
        storage_pools:
          - name: image_builder
            disks: ['']  # coś jak vdb
            state: present
            volumes:
              - name: composer
                size: "20G"     # oszacowanie w zależności od liczby tworzonych obrazów
                fs_label: "imgbldr"
                mount_point: '/var/lib/lorax/composer'
      when: CONFIG_STORAGE

  # Opcjonalnie użyj roli Cockpit, aby zainstalować pełen zestaw,
  # w przeciwnym razie rola Image Builder zainstaluje minimalne zależności dla GUI.
  - name: Zainstaluj i włącz usługę Konsoli Web RHEL/Fedora (Cockpit)
    include_role:
      name: linux-system-roles.cockpit
    vars:
      cockpit_packages: "full"   # lub "minimal" lub "default"

  - name: Zainstaluj i włącz usługę Image Builder RHEL/Fedora
    include_role:
      name: linux-system-roles.image_builder
    vars:
      ib_packages: "full"   # lub "minimal" lub "default"

  - name: Konfiguruj zaporę dla Konsoli Web
    include_role:
      name: linux-system-roles.firewall
    vars:
      firewall:
        service: cockpit
        state: enabled
    when: USE_FIREWALL

Licencja

GPLv3

O projekcie

Install and enable Image Builder for building OS images

Zainstaluj
ansible-galaxy install linux-system-roles.image_builder
Licencja
gpl-3.0
Pobrania
3k
Właściciel