Report this

What is the reason for this report?

How do I create a PVC from a Volume Snapshot to a Kubernetes cluster? It is tuck in "pending" state

Posted on February 9, 2021

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.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.