第 2 章 将 3scale 2.5 升级到 2.6


先决条件

  • 在项目中部署的 Red Hat 3scale API Management 2.5。
  • 工具先决条件:

    • base64
    • jq

步骤

要将 3scale API 管理 2.5 升级到 2.6,请转至 3scale 部署的项目。

$ oc project <3scale-project>
Copy to Clipboard Toggle word wrap

然后,按照以下顺序执行这些步骤:

2.1. 为 3scale 项目创建备份目录

使用以下步骤为 3scale 项目创建备份目录。请注意{BACKUP_DIR} 是 3scale 备份机器上的位置。

步骤

  1. 创建备份目录:

    mkdir ${BACKUP_DIR}
    Copy to Clipboard Toggle word wrap
  2. 为您的备份创建目录和子目录:

    mkdir ${BACKUP_DIR}/system-database ${BACKUP_DIR}/zync-database ${BACKUP_DIR}/system-redis ${BACKUP_DIR}/backend-redis ${BACKUP_DIR}/system-app ${BACKUP_DIR}/openshift
    
    mkdir ${BACKUP_DIR}/openshift/configmaps/ ${BACKUP_DIR}/openshift/deploymentConfigs ${BACKUP_DIR}/openshift/imageStreams ${BACKUP_DIR}/openshift/other/ ${BACKUP_DIR}/openshift/routes/ ${BACKUP_DIR}/openshift/secrets/ ${BACKUP_DIR}/openshift/services/
    Copy to Clipboard Toggle word wrap

2.1.1. 备份 system-database (MySQL)

转储 system-mysql 数据库,并将转储存储在 ${BACKUP_DIR}/system-database/system-mysql-backup.gz 中:

oc rsh $(oc get pods -l 'deploymentConfig=system-mysql' -o json | jq -r '.items[0].metadata.name') bash -c 'export MYSQL_PWD=${MYSQL_ROOT_PASSWORD}; mysqldump --single-transaction -hsystem-mysql -uroot system' | gzip > ${BACKUP_DIR}/system-database/system-mysql-backup.gz
Copy to Clipboard Toggle word wrap

2.1.2. backup zync-database

转储 zync-database PostrgreSQL 数据库,并将转储存储在 ${BACKUP_DIR}/zync-database/zync-database-backup.gz 中:

oc rsh $(oc get pods -l 'deploymentConfig=zync-database' -o json | jq '.items[0].metadata.name' -r) bash -c 'pg_dumpall -c --if-exists' | gzip > ${BACKUP_DIR}/zync-database/zync-database-backup.gz
Copy to Clipboard Toggle word wrap

2.1.3. 备份 system-redis

${BACKUP_DIR}/ system-redis /system-redis-dump.rdb中提取 system-redis 转储

oc cp $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r):/var/lib/redis/data/dump.rdb ${BACKUP_DIR}/system-redis/system-redis-dump.rdb
Copy to Clipboard Toggle word wrap

2.1.4. 备份 backend-redis

${BACKUP_DIR}/ backend-redis /backend-redis-dump.rdb中提取 backend-redis 转储

oc cp $(oc get pods -l 'deploymentConfig=backend-redis' -o json | jq '.items[0].metadata.name' -r):/var/lib/redis/data/dump.rdb ${BACKUP_DIR}/backend-redis/backend-redis-dump.rdb
Copy to Clipboard Toggle word wrap

2.1.5. 备份 system-app 持久性数据

${BACKUP_DIR}/ system-app / 中复制 system-app 持久性数据:

oc rsync $(oc get pods -l 'deploymentConfig=system-app' -o json | jq '.items[0].metadata.name' -r):/opt/system/public/system ${BACKUP_DIR}/system-app/
Copy to Clipboard Toggle word wrap

2.1.6. 备份 DeploymentConfig

for object in `oc get dc | awk '{print $1}' | grep -v NAME`; do oc get -o yaml --export dc ${object} > ${BACKUP_DIR}/openshift/deploymentConfigs/${object}_dc.yaml; done
Copy to Clipboard Toggle word wrap

2.1.7. Backup ImageStreams

for object in `oc get is | awk '{print $1}' | grep -v NAME`; do oc get -o yaml --export is ${object} > ${BACKUP_DIR}/openshift/imageStreams/${object}_is.yaml; done
Copy to Clipboard Toggle word wrap

2.1.8. 备份 secret

备份令牌和 secret 默认构建器和部署程序以外的所有内容:

for object in `oc get secret | awk '{print $1}' | grep -v NAME | grep -v default | grep -v builder | grep -v deployer`; do oc get -o yaml --export secret ${object} > ${BACKUP_DIR}/openshift/secrets/${object}_secret.yaml; done
Copy to Clipboard Toggle word wrap

2.1.9. 备份服务

for object in `oc get svc | awk '{print $1}' | grep -v NAME`; do oc get -o yaml --export svc ${object} > ${BACKUP_DIR}/openshift/services/${object}_svc.yaml; done
Copy to Clipboard Toggle word wrap

2.1.10. 备份路由

for object in `oc get routes | awk '{print $1}' | grep -v NAME`; do oc get -o yaml --export route ${object} > ${BACKUP_DIR}/openshift/routes/${object}_route.yaml; done
Copy to Clipboard Toggle word wrap

2.1.11. 备份 ConfigMap

for object in `oc get cm | awk '{print $1}' | grep -v NAME`; do oc get -o yaml --export cm ${object} > ${BACKUP_DIR}/openshift/configmaps/${object}_cm.yaml; done
Copy to Clipboard Toggle word wrap

2.1.12. 备份其他资源

进行第二个备份,以处理没有备份对象的其他自定义资源

oc get -o yaml --export all > ${BACKUP_DIR}/openshift/other/threescale-project-elements.yaml

for object in rolebindings serviceaccounts secrets imagestreamtags cm rolebindingrestrictions limitranges resourcequotas pvc templates cronjobs statefulsets hpa deployments replicasets poddisruptionbudget endpoints; do
   oc get -o yaml --export $object > ${BACKUP_DIR}/openshift/other/$object.yaml; done
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat