Menu Close

7.5.5.2. 基于 Operator 的部署

注意

按照 使用 Operator 部署 3scale 下的说明,特别是 部署 APIManager 自定义资源 以重新部署 3scale 实例。

步骤

  1. 通过将 ${DEPLOYMENT_NAME} 替换为您在创建 3scale 部署时定义的名称来存储副本数量:

    ZYNC_SPEC=`oc get APIManager/${DEPLOYMENT_NAME} -o json | jq -r '.spec.zync'`
  2. 将 zync DeploymentConfig 缩减为 0 个 pod:

    oc patch APIManager/${DEPLOYMENT_NAME} --type merge -p '{"spec": {"zync": {"appSpec": {"replicas": 0}, "queSpec": {"replicas": 0}}}}'
  3. 将 Zync 数据库转储复制到 zync-database pod:

    oc cp ./zync-database-backup.gz $(oc get pods -l 'deploymentConfig=zync-database' -o json | jq '.items[0].metadata.name' -r):/var/lib/pgsql/
  4. 解压缩备份文件:

    oc rsh $(oc get pods -l 'deploymentConfig=zync-database' -o json | jq -r '.items[0].metadata.name') bash -c 'gzip -d ${HOME}/zync-database-backup.gz'
  5. 恢复 PostgreSQL DB 备份文件:

    oc rsh $(oc get pods -l 'deploymentConfig=zync-database' -o json | jq -r '.items[0].metadata.name') bash -c 'psql -f ${HOME}/zync-database-backup'
  6. 恢复到原始副本数:

    oc patch APIManager ${DEPLOYMENT_NAME} --type merge -p '{"spec": {"zync":'"${ZYNC_SPEC}"'}}'