搜索

8.3. 使用 CLI 创建支持 Ignition 的蓝图

download PDF

在构建简化的安装程序镜像时,您可以通过向其添加 customizations.ignition 部分来自定义您的蓝图。因此,您可以创建简化的安装程序镜像或可用于裸机平台的原始镜像。蓝图中的 customizations.ignition 自定义可让配置文件用于 edge-simplified-installer ISO 和 edge-raw-image 镜像。

  • 对于 edge-simplified-installer ISO 镜像,您可以自定义蓝图来嵌入将在 ISO 镜像中包含的 Ignition 配置文件。例如:

    [customizations.ignition.embedded]
    config = "eyJ --- BASE64 STRING TRIMMED --- 19fQo="

    您必须提供 base64 编码的 Ignition 配置文件。

  • 对于 edge-simplified-installer ISO 镜像和 edge-raw-image,您可以通过定义一个用来在第一次引导时获取 Ignition 配置的 URL 来自定义蓝图。例如:

    [customizations.ignition.firstboot]
    url = "http://your_server/ignition_configuration.ig"

    您必须输入一个指向在第一次引导过程中要获取的 Ignition 配置的 URL。

要为具有支持 Ignition 配置的简化的 RHEL for Edge 镜像自定义蓝图,请按照以下步骤执行:

先决条件

  • 如果使用 [customizations.ignition.embedded] 自定义,您必须创建一个 Ignition 配置文件。
  • 如果使用 [customizations.ignition.firstboot] 自定义,您必须已创建了一个其 URL 指向将在第一次引导过程中获取的 Ignition 配置的容器。
  • 蓝图自定义 [customizations.ignition.embedded] 部分使 coreos-installer-dracut 能够根据 osbuild 文件的存在来定义 -ignition-url|-ignition-file

流程

  1. 以 Tom’s Obvious, Minimal Language (TOML) 格式创建一个纯文本文件,其内容如下:

    name = "simplified-installer-blueprint"
    description = "Blueprint with Ignition for the simplified installer image"
    version = "0.0.1"
    packages = []
    modules = []
    groups = []
    distro = ""
    
    [customizations.ignition.embedded]
    config = "eyJ --- BASE64 STRING TRIMMED --- 19fQo="

    其中:

    • name 是蓝图的名称,description 是蓝图的描述。
    • version 是根据语义版本控制方案的版本号。
    • modulespackages 描述了要安装到镜像中的软件包名称和匹配版本 glob。例如,软件包 name = "tmux" ,匹配版本 glob 是 version = "3.3a" 。请注意,目前软件包和模块之间没有区别。
    • groups 是要安装到镜像中的软件包组。例如 groups = "anaconda-tools" 组软件包。如果您不知道模块和组,请将其留空。

      警告

      如果要使用 Ignition 创建用户,则无法同时使用 FDO 自定义创建用户。您可以使用 Ignition 创建用户,并使用 FDO 复制配置文件。但是,如果您要创建用户,请使用 Ignition 或 FDO 创建他们,但不能同时创建它们。

  2. 将蓝图推送(导入)到镜像构建器服务器:

    # composer-cli blueprints push blueprint-name.toml
  3. 列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。

    # composer-cli blueprints show blueprint-name
  4. 检查蓝图中列出的组件和版本是否有效:

    # composer-cli blueprints depsolve blueprint-name

下一步

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.