第 3 章 嵌入应用程序以供离线使用


您可以在 Red Hat Enterprise Linux for Edge (RHEL for Edge)镜像中嵌入基于微服务的工作负载和应用程序。嵌入意味着您可以在 air-gapped、断开连接或离线环境中运行 MicroShift 集群的红帽构建。

3.1. 嵌入工作负载容器镜像以供离线使用

要在边缘的设备中嵌入没有网络连接的容器镜像,您必须创建一个新容器,挂载 ISO,然后将内容复制到文件系统中。

先决条件

  • 有到主机的 root 访问权限。
  • 应用程序 RPM 已添加到蓝图中。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 运行以下命令,呈现清单,提取所有容器镜像引用,并将应用程序镜像转换为蓝图容器源:

    $ oc kustomize ~/manifests | grep "image:" | grep -oE '[^ ]+$' | while read line; do echo -e "[[containers]]\nsource = \"${line}\"\n"; done >><my_blueprint>.toml
  2. 运行以下命令,将更新的蓝图推送到镜像构建器:

    $ sudo composer-cli blueprints push <my_blueprint>.toml
  3. 如果您的工作负载容器位于私有存储库中,则必须为镜像构建器提供必要的 pull secret:

    1. /etc/osbuild-worker/osbuild-worker.toml 文件中,将 osbuilder worker 配置的 [containers] 部分中的 auth_file_path 设置为指向 pull secret。
    2. 如果需要,为 pull secret 创建目录和文件,例如:

      目录和文件示例

      [containers]
      auth_file_path = "/<path>/pull-secret.json" 1

      1
      使用之前设置的自定义位置来复制和检索镜像。
  4. 运行以下命令来构建容器镜像:

    $ sudo composer-cli compose start-ostree <my_blueprint> edge-commit
  5. 继续您首选的 rpm-ostree 镜像流,如等待构建完成、导出镜像并将其集成到 rpm-ostree 存储库或创建可引导 ISO。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.