The Big Picture
First things first, Kubernetes supports lots of types of storage from lots of different places. For example, Internet Small Computer System Interface (iSCSI), Server Message Block (SMB), Network File System (NFS), and object storage blobs, all from a variety of external storage systems that can be in the cloud or in your on-premises data center. However, no matter what type of storage you have, or where it comes from, when it's surfaced on your Kubernetes cluster, it's called a volume. For example, Azure File resources surfaced in Kubernetes are called volumes, as are block devices from AWS Elastic Block Store (EBS). All storage on a Kubernetes cluster is called a volume.
Figure 7.1 shows the high-level architecture:
Figure 7.1: High-level architecture
On the left, we've got storage providers. They can be your traditional enterprise storage arrays from vendors such as EMC and NetApp, or they can be cloud storage services such...