自动更新和手动回滚
Fedora CoreOS通过以下方式提供原子更新和回滚 OSTree 部署。
默认情况下,操作系统通过两个组件执行持续的自动更新:
-
RPM-Ostree 处理多个磁盘上OSTree部署,并可在引导时在它们之间切换。
-
津卡提 持续检查操作系统更新并通过rpm-ostree应用它们。
对更新保持警惕
当地的Zincati代理定期与远程服务进行检查,以查看何时有更新可用。 自定义“卷展栏警戒度”值(请参见 文件 ),以让服务器知道该节点对接收更新的渴望程度或风险厌恶程度。
这个 rollout_wariness
参数可以设置为介于 0.0
(最热切的)和 1.0
(最保守)。
为了在分阶段部署周期的早期接收更新,可以将节点配置为较低的值(例如 0.001
)。
这可以在设置过程中通过使用 Butane 如下所示的配置代码片段:
示例:配置Zincati卷展栏谨慎
variant: fcos
version: 1.4.0
storage:
files:
- path: /etc/zincati/config.d/51-rollout-wariness.toml
contents:
inline: |
[identity]
rollout_wariness = 0.001
操作系统更新定稿
要完成操作系统更新,计算机必须重新启动。 由于这是一种可能导致服务中断的入侵性操作,因此Zincati允许群集管理员控制何时允许节点重新启动以完成更新。
以下是可用的定稿策略:
-
在本地下载并暂存更新后,立即重新启动以应用更新。
-
使用外部锁管理器来协调一组机器的重启。
-
仅允许在配置的维护窗口内重新启动,该维护窗口是根据每周UTC计划定义的。
可以在每个节点上配置特定的终结策略。
这个 Butane 以下代码片段显示了如何在周末定义两个维护窗口,从UTC时间22:30开始,每个窗口持续一个小时:
示例:配置Zincati更新策略
variant: fcos
version: 1.4.0
storage:
files:
- path: /etc/zincati/config.d/55-updates-strategy.toml
contents:
inline: |
[updates]
strategy = "periodic"
[[updates.periodic.window]]
days = [ "Sat", "Sun" ]
start_time = "22:30"
length_minutes = 60
有关更新定稿的更多详细信息,请查看 津卡提文献 。