In Kubernetes, each container running in a pod can read and write data to its own isolated file system.
When the container restarted, the file system will be destroyed and the data will be lost.
When running multiple containers together in a Pod, it is necessary to share files between those containers.
The Kubernetes Volume abstraction solves these problems.
A Kubernetes volume is essentially a directory accessible to all containers running in a pod.
We have different types of volumes in Kubernetes and the type defines how the volume is created and its content.
cloud provider-specific types:
distributed file system types:
To use a volume, a pod specifies what volumes to provide for the pod (the spec.volumes field) and where to mount those into containers(the spec.containers.volumeMounts field).