linux-system-roles.image_builder
役割名
FedoraおよびRed Hat Enterprise LinuxのOSイメージを作成するためのビルドノードとして、イメージビルダーをインストールおよび設定します。これはコンテナイメージではなく、クラウド、仮想、物理環境に展開できる完全なOSイメージです。
要件
- RHEL/CentOS 7.xはExtrasリポジトリが有効である必要があります。
- ローカルノードで実行する場合、RHEL/CentOSはAnsibleリポジトリを有効にする必要があります。
- グラフィカルなフロントエンドインターフェースの依存関係を設定するために、linux-system-roles.cockpitに依存します。
- オプションとして以下を考慮できます:
- 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