5.3. 为离线部署嵌入 MicroShift 容器


您可以使用 Image Builder 使用嵌入式 MicroShift 容器镜像创建 rpm-ostree 系统镜像。要嵌入容器镜像,您必须对镜像构建器蓝图添加镜像引用。

先决条件

  • 有对构建主机的 root 用户访问权限。
  • 您的构建主机满足 Image Builder 系统要求。
  • 已安装并设置 Image Builder 和 composer-cli 工具。
  • 您已创建了 RHEL for Edge 镜像蓝图。
  • 已安装 jq。

流程

  1. 获取您要部署的 MicroShift 版本使用的容器镜像引用列表。您可以按照以下步骤 2 安装 microshift-release-info RPM 软件包,或者按照以下步骤 3 下载并解包 RPM。
  2. 安装 microshift-release-info RPM 软件包:

    1. 运行以下命令安装 microshift-release-info RPM 软件包:

      $ sudo dnf install -y microshift-release-info-<release_version>

      使用整个版本号(如 4.15.0 )替换 < release_version > 替换为您要部署的发行版本的数字值。

    2. 运行以下命令,列出 /usr/share/microshift/release 目录的内容,以验证发行信息文件是否存在:

      $ ls /usr/share/microshift/release

      输出示例

      release-x86_64.json
      release-aarch64.json

      如果安装了 microshift-release-info RPM,您可以继续第 4 步。

  3. 如果您没有完成第 2 步,请下载并解包 microshift-release-info RPM,而不安装它:

    1. 运行以下命令来下载 RPM 软件包:

      $ sudo dnf download microshift-release-info-<release_version>

      使用整个版本号(如 4.15.0 )替换 < release_version > 替换为您要部署的发行版本的数字值。

      rpm 示例

      microshift-release-info-4.15.0.*.el9.noarch.rpm 1

      1
      * 代表日期和提交 ID。您的输出应该同时包含 -202311101230.p0.g7dc6a00.assembly.4.15.0
    2. 运行以下命令,在不安装 RPM 软件包的情况下解包 RPM 软件包:

      $ rpm2cpio <my_microshift_release_info> | cpio -idmv 1
      ./usr/share/microshift/release/release-aarch64.json
      ./usr/share/microshift/release/release-x86_64.json
      1
      <my_microshift_release_info > 替换为上一步中的 RPM 软件包的名称。
  4. 运行以下命令,定义包含容器引用信息的 JSON 文件的位置:

    $ RELEASE_FILE=</path/to/your/release-$(uname -m).json>

    </path/to/your/release-$(uname -m).json > 替换为 JSON 文件的完整路径。确保使用您的架构所需的文件。

  5. 运行以下命令,定义 TOML 文件的位置,其中包含构建镜像的说明:

    $ BLUEPRINT_FILE=</path/to/your/blueprint.toml>

    </path/to/your/blueprint.toml > 替换为 JSON 文件的完整路径。

  6. 运行以下命令,然后在蓝图 TOML 文件中嵌入容器镜像引用:

    $  jq -r '.images | .[] | ("[[containers]]\nsource = \"" + . + "\"\n")' "${RELEASE_FILE}" >> "${BLUEPRINT_FILE}"

    生成的 &lt ;my_blueprint.toml> 片段示例,显示容器引用

    [[containers]]
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db"
    
    [[containers]]
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db"

  7. 您可以使用以下示例手动将任何容器镜像添加到镜像构建器蓝图中:

    手动将容器镜像嵌入到镜像构建器的部分示例

    [[containers]]
    source = "<my_image_pullspec_with_tag_or_digest>"

    <my_image_pullspec_with_tag_or_digest > 替换为您要部署的 MicroShift 版本使用的容器镜像的确切引用。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.