第 18 章 使用 Ignition 在第一次启动时配置引导映像
您可以使用 Ignition 工具在首次启动时动态配置引导系统。使用 Ignition,您可以对少量基本映像进行标准化,并在运行时对其进行自定义。这样就无需为每个硬件或环境组合创建单独的映像变体。
首次启动时,Ignition 会执行用户提供的配置文件,以在系统启动之前配置特定于环境的详细信息,如网络、用户和存储。
18.1. 关于通过使用 Ignition 在引导中动态设置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Ignition 是一个首次引导的 Provisioning 系统,在 initramfs 阶段配置 Linux 系统。您可以使用 Ignition 动态配置引导系统,而无需维护多个映像变体。
点火只运行一次,在系统第一次引导期间。它会读取声明性配置文件,并在系统过渡到真正的根文件系统之前应用指定的更改。
点火可以执行以下配置任务:
- 创建用户和组
- 添加SSH授权密钥
- 写入文件和目录
- 配置系统化的单元
- 设置磁盘分区和文件系统
配置网络设置
- Ignition 如何使用
引导 引导映像使用OSTree进行原子更新和回滚。Ignition 通过在initramfs阶段挂载可写入的/var目录与OSTree集成,使配置更改得以持续。以下序列描述了点火引导过程:
-
引导加载程序传递
ignition.firstboot内核参数。 -
initramfs加载并启动点火服务。 - Ignition 从平台特定的数据源获取配置。
-
点火装载
/var可写并应用配置。 -
initramfs会过渡到真正的根文件系统。 - 第一次引导完成后,系统会删除第一个引导标记。
-
引导加载程序传递
- 使用
点火的好处 -
为了使核心操作系统映像在整个基础架构中保持通用性和可重用性,您可以使用
Ignition在引导期间注入特定于环境的配置,从而实现"构建一次,在运行时配置"的方法。这种方法有以下好处:
- Ignition 如何使用
- 减少图像蔓延:维护少量基本图像,而不是数十种变体。
- 动态配置: 在启动时应用特定于环境的设置,如 DNS 解析器、NTP 服务器和网络参数。
-
声明性设置:在
JSON配置文件中定义所需的系统状态。 - 仅在首次启动时运行:在初始设置期间,Ignition 执行一次。这样可以防止在后续重新启动时意外重新配置。