pv-migrate is a CLI tool/kubectl plugin to easily migrate the contents of one Kubernetes PersistentVolumeClaim to another. On Kubernetes, if you need to rename a resource (like a Deployment) or to move it to a different namespace, you can simply create a copy of its manifest with the new namespace and/or name and apply it. However, it is not as simple with PersistentVolumeClaim resources: They are not only metadata, but they also store data in the underlying storage backend. In these cases, moving the data stored in the PVC can become a problem, making migrations more difficult.

Features

  • Supports in-namespace, in-cluster as well as cross-cluster migrations
  • Uses rsync over SSH with a freshly generated Ed25519 or RSA keys each time to securely migrate the files
  • Allows full customization of the manifests (e.g. specifying your own docker images for rsync and sshd, configuring affinity etc.)
  • Supports multiple migration strategies to do the migration efficiently and fallback to other strategies when needed
  • Customizable strategy order
  • Supports arm32v7 (Raspberry Pi etc.) and arm64 architectures as well as amd64
  • Supports completion for popular shells: bash, zsh, fish, powershell

Project Samples

Project Activity

See All Activity >

License

Apache License V2.0

Follow pv-migrate

pv-migrate Web Site

Other Useful Business Software
Full-stack observability with actually useful AI | Grafana Cloud Icon
Full-stack observability with actually useful AI | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of pv-migrate!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Command Line Tools, Go Raspberry Pi Software

Registered

2024-03-26