linux-system-roles.image_builder

角色名称

安装和配置图像生成器作为构建节点,用于创建 Fedora 和 Red Hat Enterprise Linux 操作系统镜像。请注意,这些不是容器镜像,而是可以在云、虚拟和裸金属环境中部署的完整操作系统镜像。

要求

  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(今天与默认相同,未来可能会改变)
    • 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:
    # 可选示例,配置第二个磁盘以容纳
    # 创建的操作系统镜像工件。典型的最小镜像大小约为 2 GB。
    # 另一个选项是简单地链接到 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