data-migrate utility

This commit is contained in:
azykov@mail.ru
2026-07-20 20:57:55 +03:00
parent 7e46427d1a
commit 1b426cc7e9
2 changed files with 35 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
1. run the application you need
2. wait for its PVs to be created
3. suspend the application: `kubectl scale deployment/statefulset/... NAME -n NAMESPACE --replicas=0`
4. wait for it to scale down so that the ReadWriteOnce PVs are released (or data-migrate will not be able to mount them)
5. look up the destination PVC name you need: `kubectl get pvc NAME -n NAMESPACE`
6. put the source host(node) and dir and destination PVC name to `install.yaml`
7. install the data-migrate: `kubectl create namespace data-migrate && kubectl delete pod data-migrate -n data-migrate --ignore-not-found=true && kubectl apply -f install.yaml`
8. run the migration: `kubectl exec data-migrate -n data-migrate -- cp -a /old/. /new/` or anything you need instead of `cp`
9. validate you have everything migrated: `kubectl exec data-migrate -n data-migrate -- ls -laR /new`
10. uninstall the data-migrate: `kubectl delete pod data-migrate -n data-migrate`
11. resume the application back: `kubectl scale deployment/statefulset/... NAME -n NAMESPACE --replicas=1`