How to Mount NFS in Kubernetes Pod

How to Mount NFS in Kubernetes Pod

Kubernetes, the open-source container orchestration platform, has revolutionized the deployment and management of containerized applications. One common requirement in many applications is the need to share data between pods. Network File System (NFS) provides a reliable and scalable solution for this purpose. In this article, we will guide you through the process of mounting NFS in a Kubernetes pod, ensuring seamless data sharing within your cluster.


Before we dive into the process, make sure you have the following prerequisites:

  1. A running Kubernetes cluster.
  2. An NFS server accessible from the Kubernetes cluster.
  3. Permissions to create and modify Kubernetes resources.

Step 1: Create a Kubernetes Pod:

Let's start by creating a simple pod that will serve as our testing environment. Save the following YAML definition to a file, for example, nfs-pod.yaml:

apiVersion: v1
kind: Pod
name: nfs-test-pod
- name: nfs-test-container
image: busybox
command: ["/bin/sh", "-c", "sleep 3600"]

Run the pod using the following command:

kubectl apply -f nfs-pod.yaml

Step 2: Install NFS Client in the Pod:

Access the pod shell using the following command:

kubectl exec -it nfs-test-pod -- /bin/sh

Once inside the pod, install the NFS client:

apk add nfs-utils

Step 3: Mount the NFS Share:

Now that the NFS client is installed, you can mount the NFS share. Replace nfs-server-ip and /path/to/nfs/share with your NFS server's IP and the path to the share, respectively.

mount -t nfs nfs-server-ip:/path/to/nfs/share /mnt

Step 4: Verify the Mount:

Check if the NFS share is successfully mounted:

df -h

You should see the NFS share mounted at /mnt.

More Examples:

Mounting with NFS Version:

If your NFS server uses a specific version, you can specify it during the mount. For example, to use NFS version 4:

mount -t nfs -o vers=4 nfs-server-ip:/path/to/nfs/share /mnt

Mounting with Read-Only Access:

For scenarios where read-only access is sufficient, mount the NFS share with the ro option:

mount -t nfs -o ro nfs-server-ip:/path/to/nfs/share /mnt

In this tutorial, we've covered the essential steps to mount an NFS share in a Kubernetes pod. This enables seamless data sharing and collaboration between pods within the cluster. Experiment with different NFS options to tailor the mount according to your specific requirements.

Related Searches and Questions asked:

  • How to Create SSH Passwordless Login to AWS EC2
  • How to Protect Important Files in Linux with Immutable Files
  • How to Configure AWS Lambda Reserved Concurrency?
  • How to Transfer Data to S3 Bucket from Local Folders
  • That's it for this topic, Hope this article is useful. Thanks for Visiting us.