Menu Close

7.5.6.2. 管理 system-redis的部署配置

这些步骤旨在运行 system-redis 实例。

步骤

  1. 编辑 redis-config configmap:

    oc edit configmap redis-config
  2. 注释 redis-config configmap 中的 SAVE 命令:

     #save 900 1
     #save 300 10
     #save 60 10000
  3. redis-config configmap 中将 appendonly 设置为 no

    appendonly no
  4. 重新部署 system-redis 以加载新配置:

    oc rollout latest dc/system-redis
  5. 检查推出部署的状态,以确保它已完成:

    oc rollout status dc/system-redis
  6. 重命名 dump.rdb 文件:

    oc rsh $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r) bash -c 'mv ${HOME}/data/dump.rdb ${HOME}/data/dump.rdb-old'
  7. 重命名 appendonly.aof 文件:

    oc rsh $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r) bash -c 'mv ${HOME}/data/appendonly.aof ${HOME}/data/appendonly.aof-old'
  8. 备份 文件移到 POD 中:

    oc cp ./system-redis-dump.rdb $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r):/var/lib/redis/data/dump.rdb
  9. 重新部署 system-redis 以载入备份:

    oc rollout latest dc/system-redis
  10. 检查推出部署的状态,以确保它已完成:

    oc rollout status dc/system-redis
  11. 创建 附加文件

    oc rsh $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r) bash -c 'redis-cli BGREWRITEAOF'
  12. 片刻后,请确保完成 AOF 重写:

    oc rsh $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r) bash -c 'redis-cli info' | grep aof_rewrite_in_progress
    • aof_rewrite_in_progress = 1 时,执行正在进行中。
    • 定期检查,直到 aof_rewrite_in_progress = 0。零表示执行已经完成。
  13. 编辑 redis-config configmap:

    oc edit configmap redis-config
  14. redis-config configmap 中取消注释 SAVE 命令:

     save 900 1
     save 300 10
     save 60 10000
  15. redis-config configmap 中将 appendonly 设置为 yes

    appendonly yes
  16. 重新部署 system-redis 以重新载入默认配置:

    oc rollout latest dc/system-redis
  17. 检查推出部署的状态,以确保它已完成:

    oc rollout status dc/system-redis