--- title: "Set NFS Client Provisioner" slug: "k8s-k8suse-nfs" tags: ["Kubernetes Service (VPC)", "nfs", "Kubernetes Service"] updated: 2026-09-17T09:33:15Z published: 2026-09-17T09:33:15Z canonical: "guide.ncloud-docs.com/k8s-k8suse-nfs" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Set NFS Client Provisioner Available in VPC NFS Client Provisioner is a provisioner that creates Persistent Volume automatically in the NFS server already configured through PersistentVolumeClaim. You can install NFS Client Provisioner using Helm CLI to connect the volume generated in NAS services of NAVER Cloud Platform. Please take note of the following before use. - This document is based on Helm v3. - Before using Helm, you should install Kubectl and configure kubeconfig in advance. - When you attempt to stop a worker node mounted to NAS using NFS Client Provisioner, it may become Stop failed. This is an OS bug, which arises when I/O occurs on the mounted NAS. In order to prevent this problem, it's recommended to stop the node after evicting the pod. See [Evict pods from worker node](/docs/en/k8s-k8suse-workernode#%EC%9B%8C%EC%BB%A4%EB%85%B8%EB%93%9C%EC%97%90%EC%84%9Cpod%EC%B6%95%EC%B6%9C). - Kubernetes Service (VPC) allows users to use NFS-based storage solutions via [NAS volume CSI](/docs/en/k8s-k8suse-nascsi). The installation of NFS Client Provisioner is optional, but a guide for NFS Client Provisioner is provided for user convenience. ## Install NFS Client Provisioner The following describes how to install NFS Client Provisioner using Helm. 1. Create a volume with the NFS protocol from the NAS service of NAVER Cloud Platform. - [Use NAS](/docs/en/nas-start-vpc) 2. Once a NAS volume is created, check the IP and path information in the mount information. 3. See the links below and install Helm for your OS. - [Install Helm](https://helm.sh/docs/en/intro/install) 4. Run the command shown below to add the official Helm chart repository to the CLI. ``` $ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/ ``` 5. Run the following command to install the NFS Client Provisioner. ``` $ helm install --kubeconfig=$KUBE_CONFIG nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \ --set nfs.server=__NAS_IP__ \ --set nfs.path=__NAS_PATH__ ``` - Example - **NAS_IP**: 169.254.0.13 - **NAS_PATH**: /n000693_provisioner ## Set NFS Client Provisioner ### Check StorageClass To check the StorageClass after NFS Client Provisioner is installed, run the following command. ``` kubectl --kubeconfig=$KUBE_CONFIG get storageclass ``` The execution result is as shown below. ``` $ kubectl --kubeconfig=$KUBE_CONFIG get storageclass NAME PROVISIONER AGE nfs-client cluster.local/nfs-subdir-external-provisioner 5m49s nks-block-storage (default) blk.csi.ncloud.com 3h39m ``` ### Change StorageClass Because Block Storage CSI is installed in the cluster by default, default is displayed in nks-block-storage when searching for StorageClass. In order to change the StorageClass where PersistentVolume is created to nfs-client-provisioner when you create a volume with PersistentVolumeClaim, change the default setting to nfs-client. Please see the link below for more information about how to change it. - [Change default StorageClass](https://kubernetes.io/docs/en/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass) ## Volume creation example See below for the example where you install Jenkins and check the created volume. 1. Run the command shown below to install Jenkins to the cluster. ``` $ helm --kubeconfig=$KUBE_CONFIG install ci stable/jenkins ``` 2. Run the following command after the installation to check `PersistentVolumeClaim` and `PersistentVolume`. ``` $ kubectl --kubeconfig=$KUBE_CONFIG get pvc $ kubectl --kubeconfig=$KUBE_CONFIG get pv ```