--- title: "NFS Client Provisioner 설정" slug: "k8s-k8suse-nfs" tags: ["kubernetes"] updated: 2026-07-23T09:02:32Z published: 2026-07-23T09:02:32Z canonical: "guide-fin.ncloud-docs.com/k8s-k8suse-nfs" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-fin.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # NFS Client Provisioner 설정 NFS Client Provisioner는 `PersistentVolumeClaim`를 통해 기존에 구성된 NFS 서버에 `Persistent Volume`를 자동으로 생성하는 Provisioner입니다. Helm CLI를 사용해 NFS Client Provisioner를 설치하여 네이버 클라우드 플랫폼의 NAS 서비스에 생성된 볼륨을 연동할 수 있습니다. 사용 전 아래의 사항을 참고하십시오. - 이 가이드는 Helm v3을 기준으로 작성되었습니다. - Helm을 사용하려면 Kubectl 설치 및 kubeconfig 설정이 완료된 상태여야 합니다. - NFS Client Provisioner를 통해 NAS에 마운트된 워커 노드를 정지하는 경우 정지 실패 상태가 될 수 있습니다. 이는 운영 체제상의 버그로, 마운트된 NAS에 대해 I/O가 존재할 경우 발생합니다. 이러한 문제를 방지하려면 [워커 노드에서 Pod 축출](/docs/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)을 참고하여 Pod를 축출한 후 노드를 정지하는 것을 권장합니다. - Kubernetes Service (VPC)는 [NAS 볼륨 CSI](/docs/k8s-k8suse-nascsi)를 통해 NFS 기반의 스토리지 솔루션을 사용할 수 있습니다. NFS Client Provisioner의 설치는 필수 항목은 아니나 사용자의 편의를 위해 NFS Client Provisioner에 대한 가이드를 제공하고 있습니다. ## NFS Client Provisioner 설치 Helm을 사용하여 NFS Client Provisioner를 설치하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼의 NAS 서비스에서 NFS 프로토콜로 볼륨을 생성해 주십시오. - [NAS 이용하기](/docs/nas-start-vpc) 2. NAS 볼륨이 생성되면 마운트 정보의 IP 및 Path 정보를 확인해 주십시오. 3. 아래 링크를 참조하여 사용 중인 운영 체제에 알맞은 방법으로 Helm을 설치해 주십시오. - [Helm 설치](https://helm.sh/docs/intro/install) 4. 아래 명령어를 실행하여 공식 Helm chart repository를 CLI에 추가해 주십시오. ``` $ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/ ``` 5. 아래 명령어를 실행하여 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__ ``` - 예제 - `__NAS_IP__`: `169.254.0.13` - `__NAS_PATH__`: `/n000693_provisioner` --- ## NFS Client Provisioner 설정 ### StorageClass 확인하기 NFS Client Provisioner 설치가 완료된 후 StorageClass를 확인하려면 아래 명령어를 실행해 주십시오. ``` kubectl --kubeconfig=$KUBE_CONFIG get storageclass ``` 실행 결과는 아래와 같습니다. ``` $ 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 ``` ### StorageClass 변경하기 클러스터에 기본적으로 블록 스토리지 CSI가 설치되어 있으므로 StorageClass 조회 시 `nks-block-storage`에 `default`가 표시됩니다. `PersistentVolumeClaim`을 통해 볼륨을 생성할 때, 해당 `PersistentVolume`이 생성되는 StorageClass를 `nfs-client-provsioner`로 변경하려면 `default` 설정을 `nfs-client`로 변경해 주십시오. 변경하는 방법에 대한 자세한 내용은 아래 링크를 참조하십시오. - [Default StorageClass 변경하기](https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass) --- ## 볼륨 생성 예제 Jenkins를 설치하고 생성된 볼륨을 확인하는 예제는 다음과 같습니다. 1. 아래 명령어를 실행하여 Jenkins를 클러스터에 설치해 주십시오. ``` $ helm --kubeconfig=$KUBE_CONFIG install ci stable/jenkins ``` 2. 설치를 완료한 후 아래 명령어를 실행하여 `PersistentVolumeClaim`과 `PersistentVolume`을 확인해 주십시오. ``` $ kubectl --kubeconfig=$KUBE_CONFIG get pvc $ kubectl --kubeconfig=$KUBE_CONFIG get pv ```