0

0

Linux Flatcar Container Linux 的自动更新与 Ignition 配置

舞夢輝影

舞夢輝影

发布时间:2026-02-13 21:43:02

|

841人浏览过

|

来源于php中文网

原创

flatcar自动更新默认关闭,需通过ignition在/etc/coreos/update.conf中配置group=stable和reboot_strategy=etcd-lock并指定filesystem为root,否则静默失效。

linux flatcar container linux 的自动更新与 ignition 配置

Flatcar 自动更新默认是关的,得手动开

Flatcar 默认禁用自动更新,不是“装好就自己升级”,这点和很多人直觉相反。系统启动后只会检查更新、下载更新包,但不会应用——除非你明确启用自动应用逻辑。

关键配置在 /etc/coreos/update.conf,必须确保它存在且内容为:

GROUP=stable
REBOOT_STRATEGY=etcd-lock

其中 REBOOT_STRATEGY 决定重启行为:etcd-lock 是最稳妥的选择(依赖 etcd 协调多节点滚动重启),best-effort 适合单机但可能跳过锁检测导致并发重启。

  • GROUP 必须设为 stablebetaalpha;留空或拼错会静默失效
  • 该文件需在系统首次启动前写入,Ignition 阶段写入最可靠;运行时 touch 修改不生效
  • Flatcar 不支持像 systemd-update-utility 那样通过服务开关控制,只认这个配置文件

Ignition 里写 update.conf 要用 files + filesystem 指向 rootfs

Ignition 不会自动把配置落到 /etc/coreos/,它只管“按路径写文件”。而 /etc/coreos/update.conf 必须位于 root 文件系统,不能写进 /usr 或其他挂载点。

正确写法示例(Ignition JSON):

{
  "ignition": { "version": "3.4.0" },
  "storage": {
    "files": [{
      "path": "/etc/coreos/update.conf",
      "mode": 420,
      "contents": { "source": "data:,GROUP%3Dstable%0AREBOOT_STRATEGY%3Detcd-lock" },
      "filesystem": "root"
    }]
  }
}
  • filesystem: "root" 缺失会导致文件写入失败,且 Ignition 不报错,只默默跳过
  • URL 编码必须做:=%3D\n%0A;直接写换行或等号会解析失败
  • 不要试图用 systemd.units 启动一个 service 去写这个文件——Ignition 阶段还没 network、没 etcd,service 无法可靠执行

自动更新失败常见错误:etcd 未就绪或锁争用

开了自动更新也不等于每次都能成功重启。最常卡在 REBOOT_STRATEGY=etcd-lock 这一步:更新服务(update-engine)会尝试在 etcd 里创建租约锁,失败就暂停,不重启。

Gaga
Gaga

曹越团队开发的AI视频生成工具

下载

典型现象:

  • journalctl -u update-engine 里反复出现 Failed to acquire etcd lock
  • coreos-update-agent 日志显示 waiting for etcd 但一直不推进
  • 节点长时间停留在 “downloaded” 状态,update_engine_client -status 返回 UPDATE_STATUS_IDLE

原因通常是:

  • etcd 尚未启动完成(Ignition 配置里 etcd unit 依赖顺序没设对)
  • 集群中已有节点持有锁且未释放(比如前次更新中断、节点宕机未清理租约)
  • etcd endpoint 地址不对,update-engine 默认连 http://127.0.0.1:2379,但有些 Ignition 配置把 etcd 绑到了 localhost 或其他 IP

Ignition 和自动更新的时序关系:配置必须早于 update-engine 启动

Ignition 配置在 initramfs 阶段执行,而 update-engine 是用户空间第一个服务之一。如果 /etc/coreos/update.conf 在 Ignition 里没写进去,或者写晚了(比如靠 later stage 的 systemd service 补写),update-engine 启动时就读不到配置,直接 fallback 到 disabled 状态。

验证是否生效的最快方法:

  • 启动后立刻查:cat /etc/coreos/update.conf —— 必须存在且内容正确
  • 再看:systemctl is-enabled update-engine 应返回 enabled(Flatcar 默认就是 enabled,但配置无效时它不会报错)
  • 最后确认:update_engine_client -status | grep -i reboot 如果看到 reboot_strategy: ETCD_LOCK 才算真正接上了

最容易被忽略的是:Ignition 配置本身没有语法错误,但因为 filesystem 指定错、路径大小写错(/etc/CoreOS/)、或用了相对路径,导致文件根本没落地——而整个过程完全静默。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

436

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

544

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

317

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

81

2025.09.10

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

460

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

435

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

2995

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2482

2024.08.16

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

23

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.1万人学习

Git 教程
Git 教程

共21课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号