克隆 OpenResty Edge 环境
在面对如以下的场景时,我们可能需要构建一个与生产环境一致或者是尽可能一致的环境:
- 进行升级测试:升级 OpenResty Edge 前,搭建一个与生产环境一致的环境,进行升级测试,测试通过后,再对生产环境进行升级。
- 迁移式升级:不对生产环境进行升级,而是构建一个与生产环境一致的环境,对新环境进行升级并测试,测试通过后,直接把旧环境中的流量切换到新环境中。
下面介绍详细的步骤。
从生产环境中获取数据备份:登录 Edge Admin DB 环境,确认磁盘空间足够后,执行以下命令进行数据备份
# PostgreSQL 12 /usr/local/openresty-postgresql12/bin/pg_dump or_edge_admin -C -Upostgres | gzip > or_edge_admin-`date +%F`.gz # PostgreSQL 9 /usr/local/openresty/postgresql/bin/pg_dump or_edge_admin -C -Upostgres | gzip > or_edge_admin-`date +%F`.gz
数据备份完成并取出后,后续的步骤中不再需要对生产环境进行任何操作,为防止误操作,您可以断开与当前机器的连接。
在测试环境中安装与生产环境一样的 OpenResty Edge 版本,如果您想测试在 Kubernetes 环境中部署的 OpenResty Edge,请参考在 Kubernetes 环境中部署 OpenResty Edge;否则,请参考安装 OpenResty Edge。
导入数据到新环境中:登录新环境的数据库机器,把前面导出的数据上传到此机器上,然后执行以下命令来重命名安装时生成的 or_edge_admin 数据库和导入数据
# PostgreSQL 12 /usr/local/openresty-postgresql12/bin/psql -Upostgres -c "ALTER DATABASE or_edge_admin RENAME TO or_edge_admin_old" # PostgreSQL 9 /usr/local/openresty-postgresql/bin/psql -Upostgres -c "ALTER DATABASE or_edge_admin RENAME TO or_edge_admin_old"
# PostgreSQL 12 zcat or_edge_admin-{date}.gz | /usr/local/openresty-postgresql12/bin/psql -Upostgres # PostgreSQL 9 zcat or_edge_admin-{date}.gz | /usr/local/openresty-postgresql/bin/psql -Upostgres
然后对新环境进行升级,详见 升级 OpenResty Edge。
有问题我们随时沟通 :)