🖥️
Concrntサーバーの移動
ConcrntというSNSのお一人用サーバーを立てました。
あらかじめサーバー移動手順を調べてやってみたので、まとめました。
Concrntって何?って方は公式の説明を見てね。
移動元のデータベースのdump
-
microk8s kubectl get deployments -n concrnt
で出てくるdeploymentをDB以外すべて止める。
止めるコマンド:microk8s kubectl scale deployment {deployment名} --replicas=0 -n concrnt
-
microk8s kubectl get pods -n concrnt
で動いているpodがDBのみか確認。 - k8s版concrntのDBをdmpする方法|ariwara の通りにdumpして取り出す。
- 構築時に利用したconcrnt-kustomizeのvalue.xmlも取り出しておく。
-
microk8s stop
でmicrok8sを停止する。
※microk8sで他のアプリケーションを構築している場合は、microk8sを停止せずにconcrntに関するpodすべてを停止してください。
移動先にリストアする
- 移動元でdumpしたファイルとconcrnt-kustomizeのvalue.xmlをコピーしておく。
- Step1 kubernetesのセットアップの通りに、移動元と同じvalue.xmlを使って構築する。
-
microk8s kubectl get deployments -n concrnt
で出てくるdeploymentをDB以外すべて止める。
止めるコマンド:microk8s kubectl scale deployment {deployment名} --replicas=0 -n concrnt
-
microk8s kubectl get pods -n concrnt
で動いているpodがDBのみか確認。 -
microk8s kubectl cp -n concrnt {dumpしたファイルパス} {DBのpod名}:/tmp/backup.dump
でdumpしたファイルをpodにコピーする -
microk8s kubectl exec -it concurrent-db-0 -n concrnt -- bash
でDBのpod内に入る。 - すでにあるデータベースのテーブルを消したいので、
deletedb -U postgres concrnt
で一度データベースを削除する。 -
createdb -U postgres concrnt
でもう一度作る -
pg_restore -Fc -U postgres -d concrnt /tmp/backup.dump
でリストアする。 - 止めてたdeploymentsを動かす。
動かすコマンド:microk8s kubectl scale deployment {deployment名} --replicas=1 -n concrnt
-
microk8s kubectl get pods -n concrnt
で正常に稼働しているか確認する。 - 移動完了
Step2 アクセスできるようにするは移動元でCloudflare Tunnelsを利用していた場合は行う。
動作確認
concrnt.worldにアクセスして、サーバーが正常に動作しているか確認してください。
Discussion