8.3. 使用 CLI 创建支持 Ignition 的蓝图
在构建简化的安装程序镜像时,您可以通过向其添加 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
。
流程
以 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
是根据语义版本控制方案的版本号。 -
modules
和packages
描述了要安装到镜像中的软件包名称和匹配版本 glob。例如,软件包name = "tmux"
,匹配版本 glob 是version = "3.3a"
。请注意,目前软件包和模块之间没有区别。 groups
是要安装到镜像中的软件包组。例如groups = "anaconda-tools"
组软件包。如果您不知道模块和组,请将其留空。警告如果要使用 Ignition 创建用户,则无法同时使用 FDO 自定义创建用户。您可以使用 Ignition 创建用户,并使用 FDO 复制配置文件。但是,如果您要创建用户,请使用 Ignition 或 FDO 创建他们,但不能同时创建它们。
-
将蓝图推送(导入)到镜像构建器服务器:
# composer-cli blueprints push blueprint-name.toml
列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。
# composer-cli blueprints show blueprint-name
检查蓝图中列出的组件和版本是否有效:
# composer-cli blueprints depsolve blueprint-name
下一步
- 您可以使用您创建的蓝图来构建简化的安装程序镜像。请参阅 使用镜像构建器创建 RHEL for Edge Simplified Installer 镜像。
其他资源