Day 36: Managing Persistent volume in your deployments

On Day 36 of your #90DaysOfDevOps journey, we’re tackling an important part of Kubernetes: Persistent Volumes (PVs)

Let’s break this down and walk you through both tasks:

What are Persistent Volumes (PV) in Kubernetes?

Kubernetes Pods are ephemeral…


This content originally appeared on DEV Community and was authored by Udoh Deborah

On Day 36 of your #90DaysOfDevOps journey, we’re tackling an important part of Kubernetes: Persistent Volumes (PVs)

Let’s break this down and walk you through both tasks:

What are Persistent Volumes (PV) in Kubernetes?

Kubernetes Pods are ephemeral — which means data inside a Pod is lost when the Pod is deleted or restarted. To persist data beyond the lifecycle of a Pod, we use:
• Persistent Volumes (PV): Storage resource in the cluster, provisioned by admins or dynamically via StorageClass.
• Persistent Volume Claims (PVC): A request for storage by a user or app.
• Deployment + PVC: Your app (e.g., the ToDo app) can claim storage by referencing a PVC.

Task 1: Add Persistent Volume to Your Deployment

Let’s go step-by-step.

  1. Create a Persistent Volume (pv.yml)

apiVersion: v1
kind: PersistentVolume
metadata:
name: todo-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /mnt/data

This creates a 1Gi volume using the hostPath /mnt/data on the node (local path for testing).

  1. Create a Persistent Volume Claim (pvc.yml)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: todo-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

This PVC will bind to the todo-pv if the specs match.

  1. Update your deployment.yml to use the PVC

Here’s the updated Deployment with volume mounting:

apiVersion: apps/v1
kind: Deployment
metadata:
name: todo-app
spec:
replicas: 1
selector:
matchLabels:
app: todo
template:
metadata:
labels:
app: todo
spec:
containers:
- name: todo-container
image: your-todo-app-image
volumeMounts:
- name: todo-storage
mountPath: /app/data
volumes:
- name: todo-storage
persistentVolumeClaim:
claimName: todo-pvc

Make sure:
•image: your-todo-app-image is replaced with your actual image.
•/app/data is where your app stores persistent data.

  1. Apply the files

kubectl apply -f pv.yml
kubectl apply -f pvc.yml
kubectl apply -f deployment.yml

  1. Verify Everything

kubectl get pv
kubectl get pvc
kubectl get pods

Look for STATUS: Bound on the PVC and Running pods.

Task 2: Access Data Inside the Pod

  1. Connect to the Pod

kubectl get pods # get pod name
kubectl exec -it -- /bin/bash

  1. Verify Data Access

cd /app/data
ls -l

OR

cat

You should see files created or used by your app.

Optional: Test Persistence
1. Delete the pod:

kubectl delete pod

2.  A new pod will be created (Deployment ensures this).
3.  Check if data is still present by repeating the steps to access /app/data.

You have Created and attached a Persistent Volume.


This content originally appeared on DEV Community and was authored by Udoh Deborah


Print Share Comment Cite Upload Translate Updates
APA

Udoh Deborah | Sciencx (2025-08-28T21:46:58+00:00) Day 36: Managing Persistent volume in your deployments. Retrieved from https://www.scien.cx/2025/08/28/day-36-managing-persistent-volume-in-your-deployments/

MLA
" » Day 36: Managing Persistent volume in your deployments." Udoh Deborah | Sciencx - Thursday August 28, 2025, https://www.scien.cx/2025/08/28/day-36-managing-persistent-volume-in-your-deployments/
HARVARD
Udoh Deborah | Sciencx Thursday August 28, 2025 » Day 36: Managing Persistent volume in your deployments., viewed ,<https://www.scien.cx/2025/08/28/day-36-managing-persistent-volume-in-your-deployments/>
VANCOUVER
Udoh Deborah | Sciencx - » Day 36: Managing Persistent volume in your deployments. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/08/28/day-36-managing-persistent-volume-in-your-deployments/
CHICAGO
" » Day 36: Managing Persistent volume in your deployments." Udoh Deborah | Sciencx - Accessed . https://www.scien.cx/2025/08/28/day-36-managing-persistent-volume-in-your-deployments/
IEEE
" » Day 36: Managing Persistent volume in your deployments." Udoh Deborah | Sciencx [Online]. Available: https://www.scien.cx/2025/08/28/day-36-managing-persistent-volume-in-your-deployments/. [Accessed: ]
rf:citation
» Day 36: Managing Persistent volume in your deployments | Udoh Deborah | Sciencx | https://www.scien.cx/2025/08/28/day-36-managing-persistent-volume-in-your-deployments/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.