第 8 章 在基于网络的环境中部署 RHEL for Edge 镜像

您可以使用 RHEL 安装程序图形用户界面或 Kickstart 文件部署 RHEL for Edge 镜像。部署 RHEL for Edge 镜像的整体流程取决于部署环境是基于网络的还是非基于网络的。

注意

要在裸机上部署镜像,请使用 Kickstart 文件。

基于网络的部署

在基于网络的环境中部署 RHEL for Edge 镜像涉及以下高级别步骤:

  1. 提取镜像文件内容。
  2. 设置 Web 服务器
  3. 安装镜像

8.1. 提取 RHEL for Edge 镜像提交

下载提交后,提取 .tar 文件,并记下 ref 名称和提交 ID。

下载的提交文件由一个带有 OSTree 存储库的 .tar 文件组成。OSTree 存储库有一个提交和一个 compose.json 文件。

compose.json 文件包含有关提交的信息元数据,以及诸如 "Ref"、引用 ID 和提交 ID 的信息。提交 ID 有 RPM 软件包。

要提取软件包内容,请执行以下步骤:

先决条件

  • 创建一个 Kickstart 文件或使用现有的。

流程

  1. 提取下载的镜像 .tar 文件:

    # tar xvf <UUID>-commit.tar
  2. 转到已提取 .tar 文件的目录。

    它有一个 compose.json 文件和一个 OSTree 目录。compose.json 文件有提交号,OSTree 目录有 RPM 软件包。

  3. 打开 compose.json 文件,再记下提交 ID 号。当您继续设置 Web 服务器时,您需要这个数字。

    如果您已安装了 jq JSON 处理程序,您还可以使用 jq 工具检索提交 ID:

    # jq '.["ostree-commit"]' < compose.json
  4. 列出提交中的 RPM 软件包。

    # rpm-ostree db list rhel/8/x86_64/edge --repo=repo
  5. 使用 Kickstart 文件运行 RHEL 安装程序。另外,您可以使用任何现有的文件,或使用 Kickstart 生成器工具创建一个。

    在 Kickstart 文件中,确保包含有关如何置备文件系统、创建用户以及如何获取和部署 RHEL for Edge 镜像的详细信息。RHEL 安装程序在安装过程中使用此信息。

    以下是 Kickstart 文件示例:

    lang en_US.UTF-8
    keyboard us
    timezone Etc/UTC --isUtc
    text
    zerombr
    clearpart --all --initlabel
    autopart
    reboot
    user --name=core --group=wheel
    sshkey --username=core "ssh-rsa AAAA3Nza…​."
    rootpw --lock
    network --bootproto=dhcp
    
    ostreesetup --nogpg --osname=rhel --remote=edge --url=https://mirror.example.com/repo/ --ref=rhel/8/x86_64/edge

    基于 OStree 的安装使用 ostreesetup 命令来设置配置。它使用以下标记获取 OSTree 提交:

    • --nogpg - 禁用 GNU Privacy Guard (GPG)密钥验证。
    • --osname - 操作系统安装的管理根。
    • --remote - 操作系统安装的管理根
    • --url - 要从中安装的存储库的 URL。
    • --ref - 安装使用的存储库的分支的名称。
    • --url=http://mirror.example.com/repo/ - 是您提取边缘提交的主机系统的地址,并通过 nginx 为其提供服务。您可以使用该地址从客户机计算机访问主机系统。

      例如,如果您在 /var/www/html 目录中提取提交镜像,并在主机名为 www.example.com 的计算机上通过 nginx 提供服务,则 --url 参数的值为 http://www.example.com/repo

      注意

      使用 http 协议启动一个服务来提供提交,因为 Apache HTTP 服务器上没有启用 https。