3.7. 创建 RHEL for Edge 镜像


使用以下步骤创建 ISO。RHEL for Edge Installer 镜像从正在运行的容器中拉取提交,并创建一个带有配置为使用嵌入式 rpm-ostree 提交的 Kickstart 文件的可安装的引导 ISO。

先决条件

  • 您的构建主机满足 Image Builder 系统要求。
  • 已安装并设置 Image Builder 和 composer-cli 工具。
  • 有对构建主机的 root 用户访问权限。
  • 已安装 podman 工具。

流程

  1. 运行以下命令启动 ostree 容器镜像构建:

    $ BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '{print $2}') 1
    1
    <microshift_blueprint > 替换为蓝图的名称。

    此命令还会返回要监控的构建的标识(ID)。

  2. 您可以运行以下命令来定期检查构建的状态:

    $ sudo composer-cli compose status

    正在运行的构建的输出示例

    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   FINISHED   Wed Jun 7 12:32:37 2023   microshift_blueprint   0.0.1     edge-container

    注意

    如果您熟悉如何启动和停止它,您可以使用 watch 命令监控构建。

  3. 运行以下命令,使用 ID 下载容器镜像,并获取可供使用的镜像:

    $ sudo composer-cli compose image ${BUILDID}
  4. 运行以下命令,将下载的容器镜像的所有权改为当前用户:

    $ sudo chown $(whoami). ${BUILDID}-container.tar
  5. 运行以下命令,在镜像中为当前用户添加读取权限:

    $ sudo chmod a+r ${BUILDID}-container.tar
  6. 通过完成以下步骤,在端口 8085 上引导服务器,供 ISO 构建使用 ostree 容器镜像:

    1. 运行以下命令来获取 IMAGEID 变量结果:

      $ IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')
    2. 运行以下命令,使用 IMAGEID 变量结果来执行 podman 命令步骤:

      $ sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}

      此命令还会返回在 IMAGEID 变量中保存的容器 ID,以进行监控。

  7. 运行以下命令来生成安装程序蓝图文件:

    cat > microshift-installer.toml <<EOF
    name = "microshift-installer"
    
    description = ""
    version = "0.0.0"
    modules = []
    groups = []
    packages = []
    EOF
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.