# Understanding Kubernetes: Part 12 -Persistent Volume Claim (PVC)

<figure><img src="https://cdn-images-1.medium.com/max/960/1*u5rMcNa180QPygWN5SGxZw.png" alt=""><figcaption></figcaption></figure>

> *If you’ve been following our **Kubernetes series 2025**, welcome back! For new readers, check out Part 11:* [***Understanding Kubernetes:*** ](https://medium.com/@techwithpatil/understanding-kubernetes-part-11-persistent-volume-pv-3a7fd784a511)***Persistent Volume***

#### What is a Persistent Volume Claim (PVC) in Kubernetes?

A Persistent Volume Claim (PVC) in Kubernetes is a request for storage by a user. It acts as a bridge between pods and Persistent Volumes (PVs), allowing pods to use storage without knowing the details of the underlying infrastructure. A PVC specifies the amount of storage and access modes needed, and Kubernetes binds it to a suitable PV.

**For example:**

If you have a web application like WordPress that needs persistent storage for its data, a PVC can request 10Gi of storage with a `ReadWriteOnce` access mode. Kubernetes will then bind the PVC to an appropriate PV, ensuring the application has durable and reliable storage.

**Persistent Volume Claim Capabilities:**

* **Dynamic Binding**: Automatically provisions storage if a StorageClass is configured.
* **Flexibility**: Allows users to specify size, access modes, and storage class without managing the PV directly.
* **Pod Integration**: PVCs can be mounted as volumes in pods, making storage accessible seamlessly.
* **Decoupling**: Separates storage requests from storage implementation, supporting portability and scalability.

**In my previous role:**

As a Senior DevOps Engineer, I used PVCs extensively for stateful applications like PostgreSQL. For one project, we deployed a PostgreSQL database that required 20Gi of storage. I created a PVC to request this storage, which was dynamically provisioned using an AWS EBS-backed StorageClass. By mounting the PVC to the PostgreSQL pod, we ensured data persistence across pod restarts and node failures. This setup played a critical role in maintaining data integrity and application uptime.

**Here’s a simple YAML for a Persistent Volume Claim:**

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

This PVC requests 10Gi of storage with a `ReadWriteOnce` access mode. When bound to a matching PV, it provides the requested storage, which can then be used by pods for persistent data storage. PVCs are essential for dynamically managing storage in Kubernetes, enabling a seamless and scalable approach to persistent workloads.

#### 🚀 Ready to Master Kubernetes?

Take your Kubernetes journey to the next level with the **Master Kubernetes: Zero to Hero course!** 🌟 Whether you’re a beginner or aiming to sharpen your skills, this hands-on course covers:

✅ Kubernetes Basics — Grasp essential concepts like nodes, pods, and services. \
✅ Advanced Scaling — Learn HPA, VPA, and resource optimization. \
✅ Monitoring Tools — Master Prometheus, Grafana, and AlertManager. \
✅ Real-World Scenarios — Build production-ready Kubernetes setups.

🎓 **What You’ll Achieve**

💡 Confidently deploy and manage Kubernetes clusters. \
🛡️ Secure applications with ConfigMaps and Secrets. \
📈 Optimize and monitor resources for peak performance.

🔥 Start Learning Now: \[Join the Master Kubernetes Course]\([**https://cloudops0.gumroad.com/l/k8s**](https://cloudops0.gumroad.com/l/k8s))

Don’t miss your chance to become a Kubernetes expert! 💻✨

🚀 Stay ahead in DevOps and SRE! 🔔 [**Subscribe now**](https://techwithpatil.medium.com/subscribe) and never miss a beat on Kubernetes and more. 🌟
