Files
kube-single-age/utils/data-migrate/README.md
T
2026-07-20 21:23:28 +03:00

12 lines
1.1 KiB
Markdown

0. the namespace will be the namespace for your target application
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 namespace, source host(node) and dir and destination PVC name to `install.yaml`
7. install the data-migrate: `kubectl delete pod data-migrate -n NAMESPACE --ignore-not-found=true && kubectl apply -f install.yaml`
8. run the migration: `kubectl exec data-migrate -n NAMESPACE -- cp -a /old/. /new/` or anything you need instead of `cp` or interactive shell `kubectl exec -it data-migrate -n NAMESPACE -- sh` (or `bash` or `zsh`)
9. validate you have everything migrated: `kubectl exec data-migrate -n NAMESPACE -- ls -laR /new`
10. uninstall the data-migrate: `kubectl delete pod data-migrate -n NAMESPACE`
11. resume the application back: `kubectl scale deployment/statefulset/... NAME -n NAMESPACE --replicas=1`