7.2.13.3.3. 标识 Ignition 配置

在进行 RHCOS 手动安装时,您可以提供两种 Ignition 配置类型,它们有不同的原因:

  • 永久安装 Ignition 配置:每个手动 RHCOS 安装都需要传递 openshift-installer 生成的 Ignition 配置文件之一,如 bootstrap.ignmaster.ignworker.ign,才能进行安装。

    重要

    不建议修改这些文件。

    对于 PXE 安装,您可以使用 coreos.inst.ignition_url= 选项在 APPEND 行上传递 Ignition 配置。对于 ISO 安装,在 ISO 引导至 shell 提示符后,您可以使用 --ignition-url= 选项在 coreos-installer 命令行上识别 Ignition 配置。在这两种情况下,都只支持 HTTP 和 HTTPS 协议。

  • live 安装 Ignition 配置:此类型必须手动创建,并应该尽可能避免,因为红帽不支持它。使用此方法,Ignition 配置会传递到 live 安装介质,在引导时立即运行,并在 RHCOS 系统安装到磁盘之前和/或之后执行设置任务。这个方法只用于必须执行一次且之后不能再次应用的任务,如不能使用机器配置进行的高级分区。

    对于 PXE 或 ISO 引导,您可以创建 Ignition 配置,APPEND ignition.config.url= 选项,以标识 Ignition 配置的位置。您还需要附加 ignition.firstboot ignition.platform.id=metal 或者 ignition.config.url 选项。

7.2.13.3.3.1. 在 RHCOS ISO 中嵌入 Ignition 配置

您可以直接嵌入 RHCOS ISO 镜像中的 live 安装 Ignition 配置。引导 ISO 镜像后,内嵌的配置将自动应用。

流程

  1. 从以下镜像镜像页面下载 coreos-installer 二进制文件: https://mirror.openshift.com/pub/openshift-v4/clients/coreos-installer/latest/
  2. 检索 RHCOS ISO 镜像和 Ignition 配置文件,并将其复制到可访问的目录中,如 /mnt:

    # cp rhcos-<version>-live.x86_64.iso bootstrap.ign /mnt/
    # chmod 644 /mnt/rhcos-<version>-live.x86_64.iso
  3. 运行以下命令将 Ignition 配置嵌入 ISO 中:

    # ./coreos-installer iso ignition embed -i /mnt/bootstrap.ign \
         /mnt/rhcos-<version>-live.x86_64.iso

    现在,您以使用该 ISO 使用指定的 live 安装 Ignition 配置来安装 RHCOS。

    重要

    不支持且不推荐使用 coreos-installer iso ignition embed 来嵌入由 openshift-installer 生成的文件,如 bootstrap.ignmaster.ignworker.ign

  4. 要显示嵌入的 Ignition 配置的内容并将其定向到文件中,请运行:

    # ./coreos-installer iso ignition show /mnt/rhcos-<version>-live.x86_64.iso > mybootstrap.ign
    # diff -s bootstrap.ign mybootstrap.ign

    输出示例

    Files bootstrap.ign and mybootstrap.ign are identical

  5. 要删除 Ignition 配置并将 ISO 返回到其 pristine 状态(因此您可以重复使用它),请运行:

    # ./coreos-installer iso ignition remove /mnt/rhcos-<version>-live.x86_64.iso

    现在,您可以将另一个 Ignition 配置嵌入到 ISO 中,或者在其 pristine 状态下使用 ISO。