Persistent volume
A persistent volume is durable storage provisioned independently of an individual workload’s lifecycle, allowing data to survive workload replacement or restart.
Kubernetes in Action, Second Edition
A PersistentVolume is a Kubernetes API resource representing storage provisioned for use by workloads independently of a pod's lifetime.
- How it is used
- Provides application storage that can persist independently of the pods using it.
- How deep it goes
- Works through claims, provisioning, access modes, reclamation, and resizing, but defers lower-level CSI driver specifications.
- Examples
- Uses MongoDB pod manifests, kubectl status checks, and a statically provisioned node-local disk.
- What you can do after
- Operate/configure it by claiming, mounting, inspecting, expanding, and releasing storage while accounting for access and reclaim policies.
Read how Kubernetes in Action, Second Edition explains persistent volume →
Acing the Certified Kubernetes Administrator Exam, Second Edition
A persistent volume is a Kubernetes API object representing storage provisioned for durable workload data.
- How it is used
- Keeps application data beyond a pod’s lifetime and supplies storage that a workload can mount through a claim.
- How deep it goes
- Works through PV creation, claim binding, mounting, and status checks, with configuration guidance for modes, access, and reclaim policies.
- Examples
- Uses a 100Mi hostPath PV, a 90Mi claim, a Deployment mount, and `kubectl` output showing the bound resources.
- What you can do after
- Build it from scratch: create a PV and PVC, mount the claim in a workload, and verify binding and the mount with `kubectl`.
Kubernetes for Developers
A persistent volume is a Kubernetes storage resource that provides data storage intended to survive container or Pod replacement.
- How it is used
- Attaches storage to stateful Pods without putting provider-specific disk details in their storage requests.
- How deep it goes
- Explains PV–PVC binding, access modes, and reclaim-policy consequences through manifests and recovery steps; does not detail storage-driver internals.
- Examples
- Uses a MariaDB claim mounted at /var/lib/mysql and a Redis StatefulSet whose retained disk is relinked after deletion.
- What you can do after
- Operate/configure it by requesting storage through a claim, checking PV binding, and setting retention before deleting claims.
Read how Kubernetes for Developers explains persistent volume →
Google Anthos in Action
A persistent volume is a Kubernetes resource representing storage provisioned for use by workloads independently of a pod's lifecycle.
- How it is used
- Represents durable workload storage when VM storage is refactored into Kubernetes deployment artifacts.
- How deep it goes
- Explains generated volume and claim responsibilities and the migration mount path, but does not detail Kubernetes storage provisioning.
- Examples
- Uses ImageAndData and Data deployment intents, plus an NFS share requiring manual YAML changes.
- What you can do after
- Operate/configure it by reviewing M4A-generated storage resources and adding persistent-volume directives for NFS mounts.
Read how Google Anthos in Action explains persistent volume →
Distributed Machine Learning Patterns
A PersistentVolume is a Kubernetes storage resource representing durable storage that can be provisioned and mounted independently of an individual workload.
- How it is used
- Preserves datasets, checkpoints, and trained models across Kubernetes Pod and workflow-step lifecycles.
- How deep it goes
- Defines PV and PVC roles, access modes, mounts, and workflow handoffs without detailing storage-backend internals.
- Examples
- Uses a 1 GiB ReadWriteOnce claim mounted by two distributed-training workers and reused across ingestion, training, and serving steps.
- What you can do after
- Operate Kubernetes training workflows that retain datasets, checkpoints, and exported models after worker Pods terminate.
Read how Distributed Machine Learning Patterns explains persistent volume →
Road to Kubernetes
A persistent volume is a Kubernetes storage resource that provides durable storage independently of an individual container's lifecycle.
- How it is used
- Provides durable storage for Kubernetes workloads whose data must outlive individual containers.
- How deep it goes
- Explains PVC configuration, provider limitations, retention classes, Deployment attachment, mounting, application, and verification.
- Examples
- Uses a 10Gi nginx Deployment with ReadWriteOnce storage mounted at /usr/share/nginx/html.
- What you can do after
- Operate/configure persistent storage by defining a PVC, attaching it to a Deployment, mounting it, and verifying provisioning.
Data Pipelines with Apache Airflow, Second Edition
A PersistentVolume is Kubernetes storage provisioned for use by workloads independently of a pod's lifecycle.
- How it is used
- Mounts shared DAG storage into Airflow deployments when multiple teams need to supply DAGs without rebuilding images.
- How deep it goes
- Defines the storage abstraction and demonstrates YAML, kubectl, and Helm configuration, but defers volume-specific CI/CD implementation.
- Examples
- Uses a hostPath-backed ReadWriteMany volume, a 250Mi claim, kubectl apply, and an Airflow Helm deployment.
- What you can do after
- Operate/configure Airflow DAG storage through Kubernetes manifests and Helm values using an existing PersistentVolumeClaim.
Read how Data Pipelines with Apache Airflow, Second Edition explains persistent volume →
Related concepts
- persistent volume claimused by · A PersistentVolumeClaim is a Kubernetes resource through which a workload requests persistent storage with specified capacity, access modes, and other storage characteristics.
- poduses · A Kubernetes Pod is the smallest deployable unit in Kubernetes, grouping one or more co-located containers that share networking and other resources.
- StorageClassconfigured by · A StorageClass is a Kubernetes API resource that defines a category of storage and the provisioner and parameters for dynamically creating volumes.
- emptydir volumecontrasts with · An emptyDir volume is a Kubernetes volume that starts empty, is available to containers in a Pod, and is deleted when the Pod leaves its node.
- static provisioningproduced by · Static provisioning is the administrator-managed creation of persistent storage resources before workloads request or claim them.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.






