CoreOS 不重装而使用json文档更新系统配置的方法(2303.3.0)

CoreOS在启动过程中,先加载内核,内核再加一个参数,来判断是不是第一次启动。
如果第一次启动,就执行ignitoin配置。
通过研究,在/boot/coreos下touch一个名称为first_boot的空文档 ,内核就认为是第一次启动了

注: 查看 /boot/coreos/grub/grub.cfg.tar 的解压后文档,可以知道整个启动流程。

/usr/share/oem/config.ign 这个文档中,保存的就是我们首次安装CoreOS时,配置文档 ignition.json 的内容

通过查看系统挂载信息可以知道目录 /usr/share/oem 是可写的

core@localhost ~ $ mount
/dev/mapper/usr on /usr type ext4 (ro,relatime,seclabel)
/dev/sda6 on /usr/share/oem type ext4 (rw,nodev,relatime,seclabel)
...

那么问题就简单了,要重新配置,则:

  1. 编写新的config.yaml配置文档再使用ct 工具,转换为 .json格式的文档;
  2. 用将新的配置文档内容替换掉 /usr/share/oem/config.ign 的内容;
  3. /boot/coreos/ 目录下, touch 一个 名为first_boot 的空文档;
  4. reboot;

Ignition是coreos开发的一种新型的系统初始化配置方式,有以下特点:

  1. 只运行一次。在系统安装完成后,第一次开机启动时运行。
  2. 执行时间非常早,在内核加载后,initramfs阶段执行。
  3. 所以可以进行很多在系统阶段无法操作的工作。如格式化磁盘,调整网络配置,对只读文件系统进行写操作等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值