5.2. 为非网络部署创建镜像
构建引导 ISO 镜像,它使用 "RHEL for Edge Container" 和 "RHEL for Edge Installer" 镜像安装基于 OSTree 的系统,稍后可以部署到断开连接的环境中的设备。
5.2.1. 使用镜像构建器 CLI 创建 RHEL for Edge 容器蓝图 复制链接链接已复制到粘贴板!
要为 RHEL for Edge 容器镜像创建蓝图,请执行以下步骤:
流程
以 TOML 格式创建一个纯文本文件,其内容如下:
name = "blueprint-name" description = "blueprint-text-description" version = "0.0.1" modules = [ ] groups = [ ]其中,
- blueprint-name 是名称,print-text-description 是您的蓝图的描述。
- 0.0.1 是 Semantic Versioning 方案的版本号。
模块 描述了要安装到镜像中的软件包名称和匹配版本的 glob,例如:软件包名称 = "tmux",匹配的版本 glob 是 version = "2.9a"。
请注意,目前软件包和模块之间没有区别。
组是要安装到镜像中的软件包组,如组软件包 anaconda-tools。
此时,如果您不知道模块和组,请将它们留空。
包含所需的软件包,并在蓝图中自定义其他详情以满足您的要求。
对于要包含在蓝图中的每个软件包,请在文件中添加以下行:
[[packages]] name = "package-name" version = "package-version"其中,
-
package-name 是软件包的名称,如
httpd、gdb-doc或coreutils。 package-version 是您要使用的软件包的版本号。
package-version 支持以下
dnf版本规范:- 对于特定版本,请使用确切的版本号,如 8.0。
- 对于最新可用版本,请使用星号 *。
- 对于最新的次版本,请使用如 8.* 的格式。
-
package-name 是软件包的名称,如
将蓝图推送(导入)到 RHEL 镜像构建器服务器中:
# composer-cli blueprints push blueprint-name.toml列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。
# composer-cli blueprints show BLUEPRINT-NAME检查蓝图中列出的组件和版本是否有效:
# composer-cli blueprints depsolve blueprint-name
5.2.2. 使用镜像构建器 CLI 创建 RHEL for Edge Installer 蓝图 复制链接链接已复制到粘贴板!
您可以创建一个蓝图来构建 RHEL for Edge Installer(.iso) 镜像,并指定用户帐户以在安装时自动在系统中创建一个或多个用户。
当您使用 customizations.user 自定义在蓝图中创建用户时,蓝图会在 /usr/lib/passwd 目录下创建用户,在 /usr/etc/shadow 目录下创建密码。请注意,您无法使用 OSTree 更新在运行的系统中更改镜像未来版本的密码。使用蓝图创建的用户只能用于获得对创建的系统的访问权限。访问系统后,您需要创建用户,例如,使用 useradd 命令。
要为 RHEL for Edge Installer 镜像创建一个蓝图,请执行以下步骤:
流程
以 TOML 格式创建一个纯文本文件,其内容如下:
name = "blueprint-installer" description = "blueprint-for-installer-image" version = "0.0.1" [[customizations.user]] name = "user" description = "account" password = "user-password" key = "user-ssh-key " home = "path" groups = ["user-groups"]其中,
- blueprint-name 是名称,print-text-description 是您的蓝图的描述。
- 0.0.1 是 Semantic Versioning 方案的版本号。
将蓝图推送(导入)到 RHEL 镜像构建器服务器中:
# composer-cli blueprints push blueprint-name.toml列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。
# composer-cli blueprints show blueprint-name检查蓝图中列出的组件和版本是否有效:
# composer-cli blueprints depsolve blueprint-name
5.2.3. 使用镜像构建器 CLI 创建 RHEL for Edge 容器镜像 复制链接链接已复制到粘贴板!
要使用 RHEL 镜像构建器命令行界面创建一个 RHEL for Edge 容器镜像,请确保您满足以下先决条件,并按照流程操作。
先决条件
- 您已为 RHEL for Edge 容器镜像创建了一个蓝图。
流程
创建 RHEL for Edge 容器镜像。
# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url URL-OSTree-repository blueprint-name image-type其中,
-
--ref与客户用来构建 OSTree 存储库的值相同 --url是要嵌入到镜像中的提交的 OSTree 存储库的 URL。例如:http://10.0.2.2:8080/repo/。默认情况下,RHEL for Edge 容器镜像的存储库文件夹为 "/repo"。请参阅 设置 web 服务器以安装 RHEL for Edge 镜像。要查找要使用的正确 URL,请访问正在运行的容器并检查
nginx.conf文件。要查找要使用的 URL,请访问正在运行的容器并检查nginx.conf文件。在nginx.conf文件中,找到root目录条目,来搜索/repo/文件夹信息。请注意,如果您在使用 RHEL 镜像构建器创建 RHEL for Edge 容器镜像(.tar)时没有指定存储库 URL,则会在nginx.conf文件中创建默认的/repo/条目。- blueprint-name 是 RHEL for Edge 蓝图名称。
image-type 是用于非基于网络的部署的
edge-container。这时将显示一个确认已添加到队列中的 composer 进程。它还显示创建的镜像的通用唯一标识符 (UUID) 号。使用 UUID 号来跟踪构建。另外,记录 UUID 号以易于执行进一步的任务。
-
检查镜像 compose 状态。
# composer-cli compose status输出以以下格式显示状态:
<UUID> RUNNING date blueprint-name blueprint-version image-type注意镜像创建过程需要 20 分钟才能完成。
要中断镜像创建过程,请运行:
# composer-cli compose cancel <UUID>要删除现有镜像,请运行:
# composer-cli compose delete <UUID>镜像就绪后,它可用于非网络部署。请参阅为非基于网络的部署创建 RHEL for Edge 容器镜像。
5.2.4. 使用命令行界面为非基于网络的部署创建 RHEL for Edge 安装程序镜像 复制链接链接已复制到粘贴板!
要创建嵌入 OSTree 提交的 RHEL for Edge 安装程序镜像,请使用 RHEL 镜像构建器命令行界面,并确保您满足以下先决条件,然后按照流程操作。
先决条件
- 您已为 RHEL for Edge Installer 镜像创建了蓝图。
- 您已创建了一个 RHEL for Edge 容器镜像,并使用 web 服务器部署了它。
流程
开始创建 RHEL for Edge Installer 镜像。
# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url URL-OSTree-repository blueprint-name image-type其中,
- ref 与客户用来构建 OSTree 存储库的值相同
- URL-OSTree-repository 是要嵌入到镜像中的提交 OSTree 存储库的 URL。例如 http://10.0.2.2:8080/repo。请参阅为非基于网络的部署创建 RHEL for Edge 容器镜像。
- blueprint-name 是 RHEL for Edge Installer 蓝图名称。
image-type 是
edge-installer。这时将显示一个确认已添加到队列中的 composer 进程。它还显示创建的镜像的通用唯一标识符 (UUID) 号。使用 UUID 号来跟踪构建。另外,记录 UUID 号以易于执行进一步的任务。
检查镜像 compose 状态。
# composer-cli compose status命令输出以以下格式显示状态:
<UUID> RUNNING date blueprint-name blueprint-version image-type注意完成镜像创建过程需要几分钟时间。
要中断镜像创建过程,请运行:
# composer-cli compose cancel <UUID>要删除现有镜像,请运行:
# composer-cli compose delete <UUID>
镜像就绪后,您可以将它用于非网络部署。请参阅为非基于网络的部署安装 RHEL for Edge 镜像。
5.2.5. 使用镜像构建器 CLI 下载 RHEL for Edge 安装程序镜像 复制链接链接已复制到粘贴板!
要使用 RHEL 镜像构建器命令行界面下载 RHEL for Edge 安装程序镜像,请确保您满足以下先决条件,然后按照流程操作。
先决条件
- 您已创建了 RHEL for Edge Installer 镜像。
流程
查看 RHEL for Edge 镜像状态。
# composer-cli compose status输出必须显示以下内容:
$ <UUID> FINISHED date blueprint-name blueprint-version image-type下载镜像。
# composer-cli compose image <UUID>RHEL 镜像构建器将镜像作为
.iso文件下载到当前目录。UUID 号和镜像大小会同时显示。
$ <UUID>-boot.iso: size MB
生成的镜像是可引导 ISO 镜像。