Chapter 7. Volumes
A container’s temporary filesystem is isolated from any other container or Pod and is not persisted beyond a Pod restart. A Pod can define a Volume and mount it to a container.
Ephemeral Volumes exist for the lifespan of a Pod. They are useful if you want to share data between multiple containers running in the Pod. Persistent Volumes preserve data beyond the lifespan of a Pod. They are a good option for applications that require data to exist longer, e.g., in the form of storage for a database-driven application. In this chapter, we’ll exercise the use of different Volumes types in a Pod.
Working with Storage
Applications running in a container can use the temporary filesystem to read and write files. In case of a container crash or a cluster/node restart, the kubelet will restart the container. Any data that had been written to the temporary filesystem is lost and cannot be retrieved. The container effectively starts with a clean slate.
There are many uses cases for wanting to mount a Volume in a container. We’ll see one of the most prominent use cases in Chapter 8: using an ephemeral Volume to exchange data between a main application container and a sidecar. Figure 7-1 illustrates the differences between the temporary filesystem of a container and the use of a Volume.