By careduz
Hey there! Wondering if I could get some help with a k8s, PVCs, and volume backup restoration.
Context Got an app in Cluster A with Postgres, which keeps data in a volume created via a PVC resource, and we’re migrating to a new Cluster B.
Versions Cluster A - Kubernetes 1.18.14-do.0 Cluster B - Kubernetes 1.20.2-do.0
What I want to do Use the PVC data from Cluster A and attach it to the app in Cluster B.
What I tried
Created a backup snapshot of the volume from Cluster A and attempted to create a new PVC in Cluster B from it following the tutorial in https://www.digitalocean.com/docs/kubernetes/how-to/snapshot-volumes/:
Cluster B - pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pg-data
namespace: pipeline
labels:
environment: prod
spec:
dataSource:
name: pg-data-backup
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi # same size as that of the PVC from Cluster A
What I am seeing The new PVC in Cluster B is stuck in Pending status, as shown below.
kubectl get persistentvolumeclaims -n pipeline
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pg-data Pending do-block-storage 39m
Am I doing something wrong? Any ideas or guidance would be hugely appreciated.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
@careduz Would it be possible to simply upgrade Cluster A to Kubernetes 1.20.2-do.0 instead of trying to move your persistent volumes to Cluster B?
–
Think different and code well,
-Conrad
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.