Summary
In this chapter, we've learned that Kubernetes has a powerful storage subsystem that allows it to leverage storage from a wide variety of external storage backends.
Each backend requires a plugin so that its storage assets can be used on the cluster, and the preferred type of plugin is a CSI plugin. Once a plugin is enabled, Persistent Volumes (PV) are used to represent external storage resources within the cluster, and Persistent Volume Claims (PVC) are used to give Pods access to PV storage.
Storage Classes take things to the next level by allowing applications to dynamically request storage. You create a Storage Class object that references a class, or tier, of storage from a storage backend. Once created, the Storage Class watches the API server for new PVCs that reference it by name. When a matching PVC arrives, the SC dynamically creates the storage and makes it available as a PV that can be mounted as a volume into a Pod (container).