Bird
Raised Fist0
Kubernetesdevops~20 mins

Volumes vs Persistent Volumes in Kubernetes - Practice Questions

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Kubernetes Storage Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Understanding Kubernetes Volumes vs Persistent Volumes

Which statement correctly describes the difference between a Kubernetes Volume and a Persistent Volume?

AA Volume is tied to the lifecycle of a Pod, while a Persistent Volume exists independently and can be reused by multiple Pods.
BA Volume stores data permanently on the cloud provider, while a Persistent Volume stores data only temporarily.
CA Volume is a physical disk attached to the node, while a Persistent Volume is a virtual disk inside the Pod.
DA Volume requires manual provisioning, while a Persistent Volume is always created automatically by Kubernetes.
Attempts:
2 left
💡 Hint

Think about the lifecycle and reusability of storage in Kubernetes Pods.

💻 Command Output
intermediate
1:30remaining
Output of kubectl get pv command

What is the expected output when running kubectl get pv in a cluster with one Persistent Volume named pv-data that is Available and has a capacity of 10Gi?

A
NAME      CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv-data   10Gi       RWX            Delete           Bound       default/myclaim   fast   5d
B
NAME      CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv-data   10Gi       RWO            Retain           Available           standard              5d
C
NAME      CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv-data   5Gi        RWO            Retain           Available           standard              5d
DError from server (NotFound): persistentvolumes "pv-data" not found
Attempts:
2 left
💡 Hint

Check the status and capacity fields for an Available Persistent Volume.

❓ Configuration
advanced
2:00remaining
Correct Persistent Volume YAML Configuration

Which YAML snippet correctly defines a Persistent Volume with 20Gi storage, ReadWriteOnce access mode, and a Retain reclaim policy?

A
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-storage
spec:
  capacity:
    storage: 20Gi
  accessModes:
    - ReadOnlyMany
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: /mnt/data
B
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-storage
spec:
  capacity:
    storage: 20GB
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Delete
  hostPath:
    path: /mnt/data
C
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-storage
spec:
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: /mnt/data
D
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-storage
spec:
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  hostPath:
    path: /mnt/data
Attempts:
2 left
💡 Hint

Check storage size units, access modes, and reclaim policy spelling.

❓ Troubleshoot
advanced
1:30remaining
Troubleshooting Pod Volume Mount Failure

A Pod fails to start with the error MountVolume.SetUp failed for volume "data" : persistentvolumeclaim "data-pvc" not found. What is the most likely cause?

AThe Kubernetes node does not have enough disk space.
BThe PersistentVolume is not bound to any PersistentVolumeClaim.
CThe Pod's container image is missing the volume mount path.
DThe PersistentVolumeClaim named 'data-pvc' does not exist in the Pod's namespace.
Attempts:
2 left
💡 Hint

Focus on the error message about the PersistentVolumeClaim.

🔀 Workflow
expert
2:30remaining
Order of Steps to Use Persistent Volumes in Kubernetes

Arrange the steps in the correct order to use a Persistent Volume in a Kubernetes Pod.

A1,2,4,3
B2,1,4,3
C1,4,2,3
D2,4,1,3
Attempts:
2 left
💡 Hint

Think about resource creation and binding before Pod deployment.

Practice

(1/5)
1. What is the main difference between a Volume and a Persistent Volume in Kubernetes?
easy
A. Volumes are temporary and tied to pod lifecycle; Persistent Volumes are durable and independent.
B. Volumes are used only for databases; Persistent Volumes are for logs.
C. Volumes require manual creation; Persistent Volumes are created automatically.
D. Volumes can be shared across clusters; Persistent Volumes cannot.

Solution

  1. Step 1: Understand Volume lifecycle

    Volumes exist only as long as the pod runs, so they are temporary storage tied to pod lifecycle.
  2. Step 2: Understand Persistent Volume purpose

    Persistent Volumes exist independently of pods and provide durable storage that remains after pods are deleted.
  3. Final Answer:

    Volumes are temporary and tied to pod lifecycle; Persistent Volumes are durable and independent. -> Option A
  4. Quick Check:

    Volume lifecycle = temporary, Persistent Volume = durable [OK]
Hint: Remember: Volumes die with pods; Persistent Volumes live beyond pods [OK]
Common Mistakes:
  • Thinking Volumes are durable storage
  • Confusing Persistent Volumes as pod-specific
  • Assuming Volumes can be shared across clusters
2. Which of the following is the correct way to declare a Persistent Volume Claim (PVC) in a pod spec?
easy
A. "volumes:\n - name: mypvc\n persistentVolumeClaim:\n claimName: myclaim"
B. "volumes:\n - name: mypvc\n emptyDir: {}"
C. "volumes:\n - name: mypvc\n hostPath:\n path: /data"
D. "volumes:\n - name: mypvc\n configMap:\n name: myconfig"

Solution

  1. Step 1: Identify PVC syntax in pod spec

    Persistent Volume Claims are referenced under volumes with persistentVolumeClaim.claimName.
  2. Step 2: Check other volume types

    emptyDir is temporary storage, hostPath mounts host directory, configMap mounts config data, none are PVCs.
  3. Final Answer:

    volumes: - name: mypvc persistentVolumeClaim: claimName: myclaim -> Option A
  4. Quick Check:

    PVC uses persistentVolumeClaim.claimName [OK]
Hint: PVCs use persistentVolumeClaim with claimName in volumes [OK]
Common Mistakes:
  • Using emptyDir or hostPath instead of persistentVolumeClaim
  • Missing claimName field
  • Confusing configMap with PVC
3. Given this pod spec snippet, what type of storage is being used?
volumes:
  - name: temp-storage
    emptyDir: {}
medium
A. Persistent Volume storage
B. HostPath volume storage
C. Temporary Volume storage tied to pod lifecycle
D. Persistent Volume Claim storage

Solution

  1. Step 1: Identify volume type from spec

    The volume uses emptyDir, which is a temporary directory created when the pod starts.
  2. Step 2: Understand emptyDir lifecycle

    emptyDir storage is deleted when the pod is removed, so it is temporary and tied to pod lifecycle.
  3. Final Answer:

    Temporary Volume storage tied to pod lifecycle -> Option C
  4. Quick Check:

    emptyDir = temporary pod storage [OK]
Hint: emptyDir means temporary storage deleted with pod [OK]
Common Mistakes:
  • Assuming emptyDir is persistent storage
  • Confusing emptyDir with hostPath
  • Thinking emptyDir uses Persistent Volume Claims
4. You created a pod with a volume referencing a Persistent Volume Claim, but the pod fails to start with an error about volume not found. What is the most likely cause?
medium
A. The Persistent Volume is deleted automatically when pod is deleted.
B. The pod spec uses emptyDir instead of persistentVolumeClaim.
C. The pod is missing a container image.
D. The Persistent Volume Claim does not exist or is not bound to a Persistent Volume.

Solution

  1. Step 1: Analyze error cause

    If the pod cannot find the volume from PVC, likely the PVC does not exist or is not bound to any Persistent Volume.
  2. Step 2: Check other options

    Using emptyDir would not cause volume not found error; missing container image causes different error; Persistent Volumes are independent of pods.
  3. Final Answer:

    The Persistent Volume Claim does not exist or is not bound to a Persistent Volume. -> Option D
  4. Quick Check:

    Volume not found = missing or unbound PVC [OK]
Hint: Check PVC existence and binding if volume not found error occurs [OK]
Common Mistakes:
  • Assuming emptyDir causes volume not found
  • Ignoring PVC binding status
  • Confusing pod image errors with volume errors
5. You want to ensure data stored by your pod remains even if the pod is deleted and recreated. Which combination should you use?
hard
A. Use a Volume with emptyDir in the pod spec.
B. Use a Persistent Volume with a Persistent Volume Claim referenced in the pod spec.
C. Use a hostPath volume pointing to a temporary directory.
D. Use a ConfigMap volume to store data files.

Solution

  1. Step 1: Identify storage durability requirement

    Data must persist beyond pod lifecycle, so temporary volumes like emptyDir or hostPath to temp dirs won't work.
  2. Step 2: Choose correct storage type

    Persistent Volumes with PVCs provide durable storage independent of pods, ensuring data remains after pod deletion.
  3. Final Answer:

    Use a Persistent Volume with a Persistent Volume Claim referenced in the pod spec. -> Option B
  4. Quick Check:

    Persistent Volume + PVC = durable storage [OK]
Hint: For durable data, always use Persistent Volume with PVC [OK]
Common Mistakes:
  • Using emptyDir for persistent data
  • Using hostPath to temporary directories
  • Confusing ConfigMap with storage for data
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard