题图摄于奥斯汀
注:微信公众号不按照时间排序,请关注“亨利笔记”,并加星标以置顶,以免错过更新。
本文部分内容节选自最新出版的《Harbor权威指南》 一书第9章(详情参见文末),相关作者为 Harbor 开源项目贡献者邓谦,值得 Harbor 用户收藏以备后用。欢迎扫码或点击“阅读原文”购买。
(目前在当当网半价优惠活动中,请抓紧机会购买,点击以下图片即可。)
软件的版本升级很容易因为操作不当而出错,造成数据丢失或者无法启动这类严重问题,对生产系统中软件的升级应该慎重。除了做好数据备份和恢复预案外,还需要在测试环境中模拟升级验证以及安排停止服务的时间。
本文会从 Harbor 版本升级方案的设计思路、实现细节及历史背景等方面解析版本升级的原理。升级一般分为两个阶段,现有 Harbor 实例的数据迁移和 Harbor 软件升级。
本文作者邓谦分享新书特点
数据迁移
在升级 Harbor 版本之前,我们首先需要对现有的数据进行迁移,以适配新的版本。需要迁移的数据有两类:数据库模式(schema)和配置文件数据。
数据库模式,也就是数据库中表的结构,每次新版本发布时新的功能及对老功能、代码的重构都会导致数据库模型的变更,因此几乎每次升级都需要升级数据库模式。
配置文件数据,是指 Harbor 组件的配置文件,在部分新功能或者新的组件出现时,都需要在配置文件中新增其参数;在老功能、组件重构或者废弃时,也会对配置文件进行更新。
如果升级时不做数据迁移,则会导致数据与新版本不兼容而引发问题。而数据迁移是一个高风险操作,操作中出现问题会造成数据丢失等严重后果,所以一定要先进行数据备份,主要