Cloud Native 3 min read

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.

Practical DevOps Architecture
Practical DevOps Architecture
Practical DevOps Architecture
Setting Up NFS Storage in Kubernetes with Helm

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.11

The 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.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud NativeLinuxstorageNFShelm
Practical DevOps Architecture
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.