如果服务启动失败,有没有办法自动回滚快照?

如果服务启动失败,有没有办法自动回滚快照?

对于小工具、内核和操作系统快照,如果这些无法正确启动,则快照系统将在设备下次启动时自动恢复这些快照。
http://snapcraft.io/docs/core/updates

我希望我的应用程序 snap 具有类似的功能,如果其提供的服务无法启动,则 snap 会自动恢复。是否有明确的机制来支持此功能?有人知道我该如何自己实现此功能吗?我可以创建第二个 snap 应用程序来管理“真正的”snap,但如果可以的话,我想避免这种情况。

答案1

确实存在一种机制来处理这个问题。你可能会发现本文/演练有帮助。基本思想(来自文章):

Snapd 不会帮您检查 snap 的健康状况,因为它对您的 snap 了解不够多,无法进行像样的健康状况检查。不过,您可以自己检查健康状况,这相当容易。

Snapd 最近获得了以下支持钩子,这是 snapd 向各个 snap 通知各种事件的一种方式。有一个钩子特别支持配置。介绍配置本身超出了本文的范围,但这个钩子有一些重要的东西值得了解:它在初始安装时运行,在 snap 更新时运行,在 snap 的服务启动后运行。这使得它成为执行健康检查的好地方。

相关内容