A PersistentVolume (PV) is a piece of storage in the cluster that has been provisioned by an administrator or dynamically provisioned using Storage Classes.
For some parts of your application (for example, frontends) you may want to expose a Service onto an external IP address, that's outside of your cluster.