linux-system-roles.image_builder

役割名

FedoraおよびRed Hat Enterprise LinuxのOSイメージを作成するためのビルドノードとして、イメージビルダーをインストールおよび設定します。これはコンテナイメージではなく、クラウド、仮想、物理環境に展開できる完全なOSイメージです。

要件

  1. RHEL/CentOS 7.xはExtrasリポジトリが有効である必要があります。
  2. ローカルノードで実行する場合、RHEL/CentOSはAnsibleリポジトリを有効にする必要があります。
  3. グラフィカルなフロントエンドインターフェースの依存関係を設定するために、linux-system-roles.cockpitに依存します。
  4. オプションとして以下を考慮できます:
    • linux-system-roles.storageを使用して、イメージアーティファクトを保存するための専用ファイルシステムを準備する。
    • linux-system-roles.firewallを使用して、Webコンソールをリモートで利用可能にする。

役割変数

デフォルトでは、イメージビルダーCLIおよびビルドサービスのコアパッケージがインストールされます:

  vars:
    ib_packages: [default, minimal, full]
    ib_daemon: [lorax-composer, osbuild-composer]
  • minimal (CLIと一方のバックエンドエンジンのいずれか、両方ではない)
    • lorax-composer # バックエンドビルドエンジンおよびAPI、従来のAnacondaインストーラーのloraxに基づく
    • osbuild-composer # 次世代バックエンドエンジンおよびAPI
    • composer-cli # コマンドラインインターフェース
  • default (CockpitからGUIを含む)
    • cockpit-composer # Cockpit Webコンソール内のグラフィカルフロントエンド
  • full (現在のdefaultと同じ、将来的には変更される可能性があります)
    • cockpit-composer # Cockpit Webコンソール内のグラフィカルフロントエンド

サンプルプレイブック

最もシンプルな例。

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

オプションのストレージとファイアウォールを構成できるより高度な例。

- hosts: fedora, rhel7, rhel8
  become: yes

# RHELシステムロールを使用していることを前提とします
#   yum install --enablerepo=rhel-7-server-ansible-2-rpms rhel-system-roles ansible
#
# 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:
    # OSイメージアーティファクトを保存するための第二のディスクを構成するオプションの例です。
    # 通常の最小イメージは各約2GBです。
    # 別のオプションは、NAS共有に単純にリンクすることです。
    - name: イメージビルダーのためのストレージを構成
      include_role:
        name: linux-system-roles.storage
      vars:
        use_partitions: false
        storage_pools:
          - name: image_builder
            disks: ['']  # vdbのようなもの
            # type: lvm
            state: present
            volumes:
              - name: composer
                size: "20G"     # 作成される画像の数によって見積もり
                # type: lvm
                # fs_type: xfs
                fs_label: "imgbldr"
                mount_point: '/var/lib/lorax/composer'
      when: CONFIG_STORAGE

  # オプションでCockpitロールを使用してフルスイートをインストールします。
  # そうしない場合、イメージビルダーロールはGUIの最小依存関係をインストールします。
  - name: RHEL/Fedora Webコンソール(Cockpit)サービスをインストールおよび有効化
    include_role:
      name: linux-system-roles.cockpit
    vars:
      cockpit_packages: "full"   # または "minimal" または "default"

  - name: RHEL/Fedoraイメージビルダーサービスをインストールおよび有効化
    include_role:
      name: linux-system-roles.image_builder
    vars:
      ib_packages: "full"   # または "minimal" または "default"

  - name: Webコンソールのためにファイアウォールを構成
    include_role:
      name: linux-system-roles.firewall
    vars:
      firewall:
        service: cockpit
        state: enabled
    when: USE_FIREWALL

ライセンス

GPLv3

プロジェクトについて

Install and enable Image Builder for building OS images

インストール
ansible-galaxy install linux-system-roles.image_builder
ライセンス
gpl-3.0
ダウンロード
3k