Persistent Volumes
Kubernetes was originally designed for stateless applications. So, one of the key challenges when running stateful applications on Kubernetes is managing storage. Kubernetes provides abstractions that allow storage to be provisioned and consumed in a portable manner across different environments. When designing storage infrastructure on Kubernetes, there are two main resources to understand: PersistentVolumes (PVs) and PersistentVolumeClaims (PVCs). A PV represents a networked storage unit provisioned by the cluster administrator. Much like compute nodes, PVs become a pool of cluster resources. In contrast, PVCs allow end users to request abstract storage with defined capacity and access modes. The PVC functions similarly to a pod resource request, but instead of CPU and memory, users can specify their desired volume size and read/write permissions. The Kubernetes control plane handles binding matching PV and PVC resources to provision storage for pods as declared...