基于镜像的系统更新、回滚与部署实践
1. 系统更新与回滚对比
在系统更新和回滚方面,基于包的系统和基于镜像的操作系统有着显著差异。
基于包的系统
基于包的系统,如使用RPM、DNF、APT、Zypper等包管理系统的系统,在更新到新版本操作系统或回滚安装时可能会出现问题和异常。更新过程中,系统会实时进行依赖检查,这可能会导致一些你未察觉的包被添加或弃用,不仅操作繁琐、耗时,还可能需要多次重启,造成系统停机。若更新失败,回滚往往需要从备份或快照中恢复,而这可能并不总是可行。
基于镜像的操作系统
基于镜像的操作系统则不会受到这些问题的困扰。无论是进行增量更新还是部署全新的操作系统,这种交付方式都能实现快速的原地升级,且不会影响用户或应用程序数据。系统会先准备好新镜像,然后直接重启进入新系统,快速、干净、高效。并且,由于镜像经过测试,新镜像出现问题的风险较低。即使下载的镜像出现损坏,也能轻松从之前的镜像恢复。
2. 操作系统版本原地升级
基于镜像的部署在操作系统版本原地升级方面表现出色。
原子/rpm - ostree系统
对于原子/rpm - ostree系统,只需基于较新的操作系统创建一个新镜像,并将其放入设备的更新存储库中。设备下载并准备好新镜像后,重启即可升级到新的操作系统版本。
bootc系统
对于基于bootc的系统,需要将容器镜像基于较新的操作系统基础镜像,重建容器并上传到注册表。系统检查更新时,会拉取新容器并将自身重新渲染为升级后的系统。
基于镜像的系统更新与部署实践
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



