第 18 章 使用 Ignition 在第一次启动时配置引导映像


您可以使用 Ignition 工具在首次启动时动态配置引导系统。使用 Ignition,您可以对少量基本映像进行标准化,并在运行时对其进行自定义。这样就无需为每个硬件或环境组合创建单独的映像变体。

首次启动时,Ignition 会执行用户提供的配置文件,以在系统启动之前配置特定于环境的详细信息,如网络、用户和存储。

18.1. 关于通过使用 Ignition 在引导中动态设置

Ignition 是一个首次引导的 Provisioning 系统,在 initramfs 阶段配置 Linux 系统。您可以使用 Ignition 动态配置引导系统,而无需维护多个映像变体。

点火只运行一次,在系统第一次引导期间。它会读取声明性配置文件,并在系统过渡到真正的根文件系统之前应用指定的更改。

点火可以执行以下配置任务:

  • 创建用户和组
  • 添加SSH授权密钥
  • 写入文件和目录
  • 配置系统化的单元
  • 设置磁盘分区和文件系统
  • 配置网络设置

    Ignition 如何使用引导

    引导映像使用 OSTree 进行原子更新和回滚。Ignition 通过在 initramfs 阶段挂载可写入的 /var 目录与 OSTree 集成,使配置更改得以持续。

    以下序列描述了点火引导过程:

    1. 引导加载程序传递 ignition.firstboot 内核参数。
    2. initramfs加载并启动点火服务。
    3. Ignition 从平台特定的数据源获取配置。
    4. 点火装载/var可写并应用配置。
    5. initramfs 会过渡到真正的根文件系统。
    6. 第一次引导完成后,系统会删除第一个引导标记。
    使用点火的好处
    为了使核心操作系统映像在整个基础架构中保持通用性和可重用性,您可以使用 Ignition 在引导期间注入特定于环境的配置,从而实现"构建一次,在运行时配置"的方法。这种方法有以下好处:
  • 减少图像蔓延:维护少量基本图像,而不是数十种变体。
  • 动态配置: 在启动时应用特定于环境的设置,如 DNS 解析器、NTP 服务器和网络参数。
  • 声明性设置:在 JSON 配置文件中定义所需的系统状态。
  • 仅在首次启动时运行:在初始设置期间,Ignition 执行一次。这样可以防止在后续重新启动时意外重新配置。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部