6.6.4.2. system-redis のデプロイメント設定の管理
以下の手順は、動作中の system-redis
インスタンス用です。
redis-config
configmap を編集します。oc edit configmap redis-config
redis-config
configmap のSAVE
コマンドをコメント化します。#save 900 1 #save 300 10 #save 60 10000
redis-config
configmap のappendonly
を no に設定します。appendonly no
system-redis
を再デプロイして、新しい設定を読み込みます。oc rollout latest dc/system-redis
dump.rb
ファイルの名前を変更します。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'
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'
バックアップ
ファイルを 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
system-redis
を再デプロイして、バックアップを読み込みます。oc rollout latest dc/system-redis
appendonly
ファイルを作成します。oc rsh $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r) bash -c 'redis-cli BGREWRITEAOF'
しばらくしてから、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
となるまで、定期的に確認します。ゼロは実行が完了したことを示します。
-
redis-config
configmap を編集します。oc edit configmap redis-config
redis-config
configmap のSAVE
コマンドをコメント解除します。save 900 1 save 300 10 save 60 10000
redis-config
configmap のappendonly
を yes に設定します。appendonly yes
system-redis
を再デプロイして、デフォルト設定を再読み込みします。oc rollout latest dc/system-redis