2.3.1 Network File System (NFS) NFS is an open-standard persistent file storage solution that is built into Linux (with RFCs for  each different version of NFS). NFS allows client computers to access files from a remote  server over a network. For more information, see https://developer.ibm.com/tutorials/l-network-filesystems/ NFS uses a server that has the  nfs  server package that is installed with a volume that client  computers can access over the network that uses an  nfs  client package. This approach  allows remote clients to mount remote volumes as local volumes, enabling easy access of  files across multiple computers. In a clustered system like Kubernetes, this allows all nodes to  keep up to date with the same storage. Thus, a pod can start on any node in the cluster and  read its data. The NFS server must allow  mount  access from that node in its  /etc/exports file. Figure 2-4 shows the NFS architecture. Using a central server, NFS can be easy to manage and requires less resources than  clustered file system alternatives. Additionally, NFS can grant users access to specific data  with the granularity of splitting out different data at different mount points with different access  policies for each mount point.  There are multiple versions of NFS with versions 3 and 4 being the predominant versions in  use today. NFS, Version 4, includes a number of enhancements over version 3 including  these options: The biggest limitation with NFS in Kubernetes is that it can stand as a single point of failure  (SPOF). If the NFS server goes down, your Kubernetes cluster might stop. This scenario  even negates some of the benefit of the replication that is done in the Kubernetes cluster to  prevent a SPOF.  Note:  You can avoid this limitation, for example, by deploying a clustered NFS solution. GLYPH<SM590000> Use Kerberos. GLYPH<SM590000> Use only one IP port (2049). Figure 2-4 NFS architecture Chapter 2. Planning for installation  25