搜索

5.2. 非基于网络的部署工作流

download PDF

要构建一个使用 "RHEL for Edge Container" 和 "RHEL for Edge Installer" 镜像安装基于 OSTree 系统的引导 ISO 镜像,并且以后可以在断开连接的环境中部署到设备,请按照以下步骤执行。

5.2.1. 使用镜像构建器 CLI 创建 RHEL for Edge 容器蓝图

要为 RHEL for Edge 容器镜像创建蓝图,请执行以下步骤:

流程

  1. 以 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。

      此时,如果您不知道模块和组,请将它们留空。

  2. 包含所需的软件包,并在蓝图中自定义其他详情以满足您的要求。

    对于要包含在蓝图中的每个软件包,请在文件中添加以下行:

    [[packages]]
    name = "package-name"
    version = "package-version"

    其中,

    • package-name 是软件包的名称,如 httpdgdb-doccoreutils
    • package-version 是您要使用的软件包的版本号。

      package-version 支持以下 dnf 版本规范:

    • 对于特定版本,请使用准确版本号,如 9.0。
    • 对于最新可用版本,请使用星号 *。
    • 对于最新的次版本,请使用格式(如 9.*)。
  3. 将蓝图推送(导入)到 RHEL 镜像构建器服务器:

    # composer-cli blueprints push blueprint-name.toml
  4. 列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。

    # composer-cli blueprints show BLUEPRINT-NAME
  5. 检查蓝图中列出的组件和版本是否有效:

    # 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 镜像创建一个蓝图,请执行以下步骤:

流程

  1. 以 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 方案的版本号。
  2. 将蓝图推送(导入)到 RHEL 镜像构建器服务器:

    # composer-cli blueprints push blueprint-name.toml
  3. 列出现有的蓝图,以检查创建的蓝图是否已成功推送并存在。

    # composer-cli blueprints show blueprint-name
  4. 检查蓝图中列出的组件和版本是否有效:

    # composer-cli blueprints depsolve blueprint-name

5.2.3. 使用镜像构建器 CLI 创建 RHEL for Edge 容器镜像

要使用 RHEL 镜像构建器命令行界面创建 RHEL for Edge 容器镜像,请确保您满足以下先决条件,并按照流程操作。

先决条件

  • 您已为 RHEL for Edge 容器镜像创建了一个蓝图。

流程

  1. 创建 RHEL for Edge 容器镜像。

    # composer-cli compose start-ostree --ref rhel/9/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 号以易于执行进一步的任务。

  2. 检查镜像 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 服务器部署了它。

流程

  1. 开始创建 RHEL for Edge Installer 镜像。

    # composer-cli compose start-ostree --ref rhel/9/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-typeedge-installer

      这时将显示一个确认已添加到队列中的 composer 进程。它还显示创建的镜像的通用唯一标识符 (UUID) 号。使用 UUID 号来跟踪构建。另外,记录 UUID 号以易于执行进一步的任务。

  2. 检查镜像 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 Installer 镜像

要使用 RHEL 镜像构建器命令行界面下载 RHEL for Edge Installer 镜像,请确保您满足以下先决条件,然后按照以下流程操作。

先决条件

  • 您已创建了 RHEL for Edge Installer 镜像。

流程

  1. 查看 RHEL for Edge 镜像状态。

    # composer-cli compose status

    输出必须显示以下内容:

    $ <UUID> FINISHED date blueprint-name blueprint-version image-type
  2. 下载镜像。

    # composer-cli compose image <UUID>

    RHEL 镜像构建器将镜像作为 .iso 文件下载到当前目录。

    UUID 号和镜像大小会同时显示。

    $ <UUID>-boot.iso: size MB

生成的镜像是可引导 ISO 镜像。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.