5.5. 构建并使用 rpm-ostree 镜像进行离线部署
您可以使用 Image Builder 使用嵌入式 MicroShift 容器镜像创建 rpm-ostree
系统镜像。要嵌入容器镜像,您必须对镜像构建器蓝图添加镜像引用。您可以根据需要创建您的用例的提交和 ISO。
将此处列出的先决条件添加到遵循的步骤中包含的先决条件。
5.5.1. 离线部署的额外先决条件 复制链接链接已复制到粘贴板!
- 您已创建了和更新 RHEL for Edge 镜像蓝图,以便离线使用。以下流程使用通过容器镜像创建的蓝图示例。您必须使用您在 "Embedding MicroShift 容器中创建的更新蓝图进行离线部署"。
-
您已更新了
/etc/osbuild-worker/osbuild-worker.toml
配置文件以离线使用。
将以下流程中的 minimal-microshift.toml
替换为您更新用于离线使用的 TOML 名称,<my_blueprint_name>。
5.5.2. 将 MicroShift 服务添加到蓝图中 复制链接链接已复制到粘贴板!
将 MicroShift RPM 软件包添加到镜像构建器蓝图中,可以使用嵌入 MicroShift 的 RHEL for Edge 镜像构建。
- 从第 1 步开始,创建自己的最小蓝图文件,这会导致更快地安装 MicroShift。
从第 2 步开始,使用生成的蓝图进行安装,其中包括所有 RPM 软件包和容器镜像。这是一个较长的安装过程,但启动更快,因为容器引用在本地访问。
重要- 将以下流程中的 < microshift_blueprint.toml > 替换为您要使用的 TOML 文件的名称。
- 将以下流程中的 & lt;microshift_blueprint > 替换为您要用于蓝图的名称。
流程
使用以下示例创建自己的蓝图文件:
自定义镜像构建器蓝图示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意命令中的通配符
*
使用最新的 MicroShift RPM。如果您需要特定版本,请替换您想要版本的通配符。例如,插入4.16.0
以下载 MicroShift 4.16.0 RPM。可选。使用特定于您的平台架构的
/usr/share/microshift/blueprint
目录中安装的蓝图。有关 blueprint 部分的说明,请参见以下示例片断:生成的镜像构建器蓝图示例片断
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将蓝图添加到镜像构建器中:
sudo composer-cli blueprints push <microshift_blueprint.toml>
$ sudo composer-cli blueprints push <microshift_blueprint.toml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <microshift_blueprint.toml > 替换为 TOML 文件的名称。
验证
运行以下命令,验证 Image Builder 配置只列出 MicroShift 软件包:
sudo composer-cli blueprints depsolve <microshift_blueprint> | grep microshift
$ sudo composer-cli blueprints depsolve <microshift_blueprint> | grep microshift
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <microshift_blueprint > 替换为蓝图的名称。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:运行以下命令来验证 Image Builder 配置列出了要安装的所有组件:
sudo composer-cli blueprints depsolve <microshift_blueprint>
$ sudo composer-cli blueprints depsolve <microshift_blueprint>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <microshift_blueprint > 替换为蓝图的名称。
5.5.3. 创建 RHEL for Edge 镜像 复制链接链接已复制到粘贴板!
使用以下步骤创建 ISO。RHEL for Edge Installer 镜像从正在运行的容器中拉取提交,并创建一个带有配置为使用嵌入式 rpm-ostree
提交的 Kickstart 文件的可安装的引导 ISO。
先决条件
- 您的构建主机满足 Image Builder 系统要求。
-
已安装并设置 Image Builder 和
composer-cli
工具。 - 有对构建主机的 root 用户访问权限。
-
已安装
podman
工具。
流程
运行以下命令启动
ostree
容器镜像构建:BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '/^Compose/ {print $2}')
$ BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '/^Compose/ {print $2}')
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <microshift_blueprint > 替换为蓝图的名称。
此命令还会返回要监控的构建的标识(ID)。
您可以运行以下命令来定期检查构建的状态:
sudo composer-cli compose status
$ sudo composer-cli compose status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 正在运行的构建的输出示例
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 RUNNING Wed Jun 7 12:26:23 2023 microshift_blueprint 0.0.1 edge-container
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 RUNNING Wed Jun 7 12:26:23 2023 microshift_blueprint 0.0.1 edge-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 已完成构建的输出示例
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 FINISHED Wed Jun 7 12:32:37 2023 microshift_blueprint 0.0.1 edge-container
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 FINISHED Wed Jun 7 12:32:37 2023 microshift_blueprint 0.0.1 edge-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您熟悉如何启动和停止它,您可以使用
watch
命令监控构建。运行以下命令,使用 ID 下载容器镜像,并获取可供使用的镜像:
sudo composer-cli compose image ${BUILDID}
$ sudo composer-cli compose image ${BUILDID}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将下载的容器镜像的所有权改为当前用户:
sudo chown $(whoami). ${BUILDID}-container.tar
$ sudo chown $(whoami). ${BUILDID}-container.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,在镜像中为当前用户添加读取权限:
sudo chmod a+r ${BUILDID}-container.tar
$ sudo chmod a+r ${BUILDID}-container.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过完成以下步骤,在端口 8085 上引导服务器,供 ISO 构建使用
ostree
容器镜像:运行以下命令来获取
IMAGEID
变量结果:IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')
$ IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,使用
IMAGEID
变量结果来执行 podman 命令步骤:sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}
$ sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令还会返回在
IMAGEID
变量中保存的容器 ID,以进行监控。
运行以下命令来生成安装程序蓝图文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow