3 minutes reading time
今天我来讲讲如何备份 apisix 的数据,主要是路由、服务、上游等数据。本文中的 apisix 版本为 apisix 3.1.0版本。
接下来由我来介绍几种备份方法。
介绍的第一种方法是使用 apisix dashboard 进行数据导出,但这种方法有许多缺陷,只能导出 route 数据,其他服务、ssl数据都不能导出,而且新版本(3.0+)dashboard 导出的路由不包含上游服务的数据,不方便进行快速的路由迁移复制(我猜测可能是害怕上游服务信息不一致导致路由错误)。
接下来就来介绍如何进行导入导出。
1 我们打开 dashboard
2 选择要导出的路由,点击 export openapi
3 在新的 apisix dashboard 导入刚刚导出的 openapi 文件并填写相应的信息,导入成功后就可以看到导入的路由信息,相应路由的服务需要补充填写。
apisix 提供了各种route、service 的admin api 数据接口,我们可以根据官方提供的接口编写相应的脚本。
由于 apisix 默认采用 etcd 进行数据存储,我们可以备份 etcd 数据,到新的 apisix 集群导入备份的数据。
由于我对 etcd 的运维不太熟悉,想要了解 etcd 备份快照,可以查看这条链接。
本文我介绍了3种将 apisix 数据导入导出的方法,3种方法各有各的优缺点,我们需要根据我们具体的情况来使用不同的方法。