Bird
Raised Fist0
Kubernetesdevops~20 mins

Reclaim policies (Retain, Delete) in Kubernetes - Mini Project: Build & Apply

Choose your learning style10 modes available
Understanding Kubernetes PersistentVolume Reclaim Policies
📖 Scenario: You are managing storage in a Kubernetes cluster. You want to understand how PersistentVolumes behave when their associated PersistentVolumeClaims are deleted. This depends on the reclaimPolicy set on the PersistentVolume.There are two main reclaim policies: Retain and Delete. Retain keeps the volume and data after the claim is deleted, while Delete removes the volume and data.
🎯 Goal: Create a Kubernetes PersistentVolume manifest with a reclaimPolicy set to Retain. Then create another PersistentVolume manifest with reclaimPolicy set to Delete. Finally, print the reclaim policies of both volumes to understand their behavior.
📋 What You'll Learn
Create a PersistentVolume named pv-retain with reclaimPolicy Retain
Create a PersistentVolume named pv-delete with reclaimPolicy Delete
Store the reclaim policies in variables named retain_policy and delete_policy
Print the values of retain_policy and delete_policy
💡 Why This Matters
🌍 Real World
Kubernetes administrators use reclaim policies to control what happens to storage volumes when applications stop using them. This helps prevent accidental data loss or frees up storage automatically.
💼 Career
Understanding reclaim policies is essential for DevOps engineers and cloud administrators managing persistent storage in Kubernetes clusters.
Progress0 / 4 steps
1
Create PersistentVolume with reclaimPolicy Retain
Create a dictionary called pv_retain representing a Kubernetes PersistentVolume manifest with these exact fields: metadata.name set to pv-retain, spec.capacity.storage set to 10Gi, spec.accessModes set to ["ReadWriteOnce"], spec.persistentVolumeReclaimPolicy set to Retain, and spec.hostPath.path set to /mnt/data-retain.
Kubernetes
Hint

Use nested dictionaries to represent the manifest structure. The reclaim policy is under spec.persistentVolumeReclaimPolicy.

2
Create PersistentVolume with reclaimPolicy Delete
Create a dictionary called pv_delete representing a Kubernetes PersistentVolume manifest with these exact fields: metadata.name set to pv-delete, spec.capacity.storage set to 10Gi, spec.accessModes set to ["ReadWriteOnce"], spec.persistentVolumeReclaimPolicy set to Delete, and spec.hostPath.path set to /mnt/data-delete.
Kubernetes
Hint

Follow the same structure as pv_retain, but change the name and reclaim policy accordingly.

3
Extract reclaim policies into variables
Create two variables: retain_policy and delete_policy. Assign retain_policy the value of pv_retain["spec"]["persistentVolumeReclaimPolicy"] and delete_policy the value of pv_delete["spec"]["persistentVolumeReclaimPolicy"].
Kubernetes
Hint

Access nested dictionary keys step-by-step to get the reclaim policy values.

4
Print reclaim policies
Write two print statements to display the values of retain_policy and delete_policy exactly as: print("Retain policy:", retain_policy) and print("Delete policy:", delete_policy).
Kubernetes
Hint

Use print with a string and the variable separated by a comma to display the policy names.

Practice

(1/5)
1. What does the Retain reclaim policy do in Kubernetes Persistent Volumes?
easy
A. Keeps the volume and data after the PersistentVolumeClaim is deleted for manual cleanup.
B. Automatically deletes the volume and data when the PersistentVolumeClaim is deleted.
C. Prevents any deletion of the PersistentVolumeClaim.
D. Creates a backup of the volume before deletion.

Solution

  1. Step 1: Understand reclaim policies

    Reclaim policies define what happens to storage after the claim is deleted.
  2. Step 2: Identify Retain behavior

    The Retain policy keeps the volume and data intact for manual intervention.
  3. Final Answer:

    Keeps the volume and data after the PersistentVolumeClaim is deleted for manual cleanup. -> Option A
  4. Quick Check:

    Retain = Keep data safe [OK]
Hint: Retain means keep data after claim deletion [OK]
Common Mistakes:
  • Confusing Retain with automatic deletion
  • Thinking Retain backs up data automatically
  • Assuming Retain prevents claim deletion
2. Which of the following is the correct YAML snippet to set a PersistentVolume reclaim policy to Delete?
easy
A. persistentVolumeReclaimPolicy: Retain
B. persistentVolumeReclaimPolicy: Delete
C. persistent_volume_reclaim_policy: Delete
D. persistentVolumeReclaimPolicy: delete

Solution

  1. Step 1: Check correct YAML key and value

    The key is persistentVolumeReclaimPolicy, and value is case-sensitive.
  2. Step 2: Identify correct value for Delete

    The value must be exactly Delete with capital D.
  3. Final Answer:

    persistentVolumeReclaimPolicy: Delete -> Option B
  4. Quick Check:

    Correct key and capitalized value = A [OK]
Hint: Use exact key 'persistentVolumeReclaimPolicy' and capitalized 'Delete' [OK]
Common Mistakes:
  • Using lowercase 'delete' instead of 'Delete'
  • Using underscore instead of camelCase key
  • Mixing Retain and Delete values
3. Given this PersistentVolume YAML snippet:
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-example
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: /data/pv-example

What happens to the volume when the PersistentVolumeClaim using this PV is deleted?
medium
A. The volume and data are deleted automatically.
B. The volume is unbound but data is deleted.
C. The volume is retained and data remains for manual cleanup.
D. The volume is backed up before deletion.

Solution

  1. Step 1: Identify reclaim policy in YAML

    The reclaim policy is set as Retain in persistentVolumeReclaimPolicy.
  2. Step 2: Understand Retain effect on deletion

    Retain means the volume and data stay after claim deletion for manual handling.
  3. Final Answer:

    The volume is retained and data remains for manual cleanup. -> Option C
  4. Quick Check:

    Retain policy = keep volume and data [OK]
Hint: Retain policy keeps volume after claim deletion [OK]
Common Mistakes:
  • Assuming data deletes automatically with Retain
  • Confusing persistentVolumeReclaimPolicy with reclaimPolicy key
  • Thinking volume is backed up automatically
4. You set a PersistentVolume reclaim policy to Delete but after deleting the PersistentVolumeClaim, the volume still exists. What is the most likely cause?
medium
A. The reclaim policy was misspelled in the YAML and ignored.
B. The volume was manually retained by an admin.
C. The PersistentVolumeClaim was not actually deleted.
D. The storage class does not support automatic deletion.

Solution

  1. Step 1: Understand Delete reclaim policy

    Delete policy should remove the volume automatically after claim deletion.
  2. Step 2: Check storage class support

    If the storage class does not support dynamic deletion, volume remains despite policy.
  3. Final Answer:

    The storage class does not support automatic deletion. -> Option D
  4. Quick Check:

    Storage class support needed for Delete policy [OK]
Hint: Delete needs storage class support to remove volume [OK]
Common Mistakes:
  • Assuming reclaim policy misspelling always causes failure
  • Ignoring storage class role in deletion
  • Not verifying claim deletion status
5. You want to ensure that when a PersistentVolumeClaim is deleted, the underlying storage is kept intact for backup purposes, but you also want to automate cleanup later. Which reclaim policy should you use and what additional step is needed?
hard
A. Use Retain policy and configure a cleanup job to delete volumes later.
B. Use Delete policy and rely on automatic cleanup only.
C. Use Retain policy and manually delete the volume after backup.
D. Use Delete policy and create snapshots before deletion.

Solution

  1. Step 1: Choose policy to keep data after claim deletion

    Retain policy keeps the volume and data safe after claim deletion.
  2. Step 2: Automate cleanup after backup

    Since Retain does not delete automatically, a cleanup job is needed to remove volumes later.
  3. Final Answer:

    Use Retain policy and configure a cleanup job to delete volumes later. -> Option A
  4. Quick Check:

    Retain + cleanup job = safe backup + automation [OK]
Hint: Retain keeps data; add cleanup job for automation [OK]
Common Mistakes:
  • Assuming Delete keeps data for backup
  • Expecting Retain to delete volumes automatically
  • Not planning manual or automated cleanup after Retain
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