Setting Up NFS Storage in Kubernetes with Helm
This guide walks through configuring an NFS server, installing required utilities, creating a dedicated namespace, installing Helm, and deploying the nfs-client-provisioner chart to provide dynamic NFS storage for workloads in a Kubernetes cluster.
The article demonstrates how to provision NFS storage in a Kubernetes environment, starting with verification of cluster component health using kubectl get cs and noting the deprecation warning for ComponentStatus.
It then creates the NFS directory on the host with mkdir /data/nfs, installs the NFS utilities via yum -y install nfs-utils rpcbind, and configures the export file /etc/exports to share the directory: /data/nfs *(rw,sync,no_root_squash,no_subtree_check) After starting the NFS and rpcbind services using systemctl start nfs && systemctl start rpcbind, a dedicated namespace for NFS is created with kubectl create ns nfs.
Next, Helm is installed by extracting the binary from helm-v3.4.2-linux-amd64.tar.gz, moving it to /usr/bin/helm, and verifying the installation with helm version. Helm repositories are added ( helm repo add helm-stable https://charts.helm.sh/stable and
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts) and updated.
The NFS client provisioner chart is searched ( helm search repo helm-stable/nfs-client-provisioner) and a values file nfs.yaml is prepared with the NFS server address, path, storage class name, reclaim policy, and image details.
Finally, the provisioner is installed with:
helm install nfs-storage -n nfs --values nfs.yaml helm-stable/nfs-client-provisioner --version 1.2.11The deployment can be verified by listing pods in the nfs namespace using kubectl get pods -n nfs, confirming that the nfs-client-provisioner pod is running.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Practical DevOps Architecture
Hands‑on DevOps operations using Docker, K8s, Jenkins, and Ansible—empowering ops professionals to grow together through sharing, discussion, knowledge consolidation, and continuous improvement.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
