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 = [ ]
name = "blueprint-name" description = "blueprint-text-description" version = "0.0.1" modules = [ ] groups = [ ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中,
- 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"
[[packages]] name = "package-name" version = "package-version"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中,
-
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 push blueprint-name.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。
composer-cli blueprints show BLUEPRINT-NAME
# composer-cli blueprints show BLUEPRINT-NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查蓝图中列出的组件和版本是否有效:
composer-cli blueprints depsolve blueprint-name
# composer-cli blueprints depsolve blueprint-name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 格式创建一个纯文本文件,其内容如下:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中,
- blueprint-name 是名称,print-text-description 是您的蓝图的描述。
- 0.0.1 是 Semantic Versioning 方案的版本号。
将蓝图推送(导入)到 RHEL 镜像构建器服务器中:
composer-cli blueprints push blueprint-name.toml
# composer-cli blueprints push blueprint-name.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。
composer-cli blueprints show blueprint-name
# composer-cli blueprints show blueprint-name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查蓝图中列出的组件和版本是否有效:
composer-cli blueprints depsolve blueprint-name
# composer-cli blueprints depsolve blueprint-name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url URL-OSTree-repository blueprint-name image-type
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中,
-
--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
# composer-cli compose status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出以以下格式显示状态:
<UUID> RUNNING date blueprint-name blueprint-version image-type
<UUID> RUNNING date blueprint-name blueprint-version image-type
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意镜像创建过程需要 20 分钟才能完成。
要中断镜像创建过程,请运行:
composer-cli compose cancel <UUID>
# composer-cli compose cancel <UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要删除现有镜像,请运行:
composer-cli compose delete <UUID>
# composer-cli compose delete <UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 镜像就绪后,它可用于非网络部署。请参阅为非基于网络的部署创建 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
# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url URL-OSTree-repository blueprint-name image-type
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中,
- 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
# composer-cli compose status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 命令输出以以下格式显示状态:
<UUID> RUNNING date blueprint-name blueprint-version image-type
<UUID> RUNNING date blueprint-name blueprint-version image-type
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意完成镜像创建过程需要几分钟时间。
要中断镜像创建过程,请运行:
composer-cli compose cancel <UUID>
# composer-cli compose cancel <UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要删除现有镜像,请运行:
composer-cli compose delete <UUID>
# composer-cli compose delete <UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
镜像就绪后,您可以将它用于非网络部署。请参阅为非基于网络的部署安装 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
# composer-cli compose status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出必须显示以下内容:
<UUID> FINISHED date blueprint-name blueprint-version image-type
$ <UUID> FINISHED date blueprint-name blueprint-version image-type
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 下载镜像。
composer-cli compose image <UUID>
# composer-cli compose image <UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 镜像构建器将镜像作为
.iso
文件下载到当前目录。UUID 号和镜像大小会同时显示。
<UUID>-boot.iso: size MB
$ <UUID>-boot.iso: size MB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
生成的镜像是可引导 ISO 镜像。