NFS Client Provisioner 설정
- 인쇄
- PDF
NFS Client Provisioner 설정
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
VPC 환경에서 이용 가능합니다.
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 축출을 참고하여 Pod를 축출한 후 노드를 정지하는 것을 권장합니다.
- Ncloud Kubernetes Service (VPC)는 NAS 볼륨 CSI를 통해 NFS 기반의 스토리지 솔루션을 사용할 수 있습니다. NFS Client Provisioner의 설치는 필수 항목은 아니나 사용자의 편의를 위해 NFS Client Provisioner에 대한 가이드를 제공하고 있습니다.
NFS Client Provisioner 설치
Helm을 사용하여 NFS Client Provisioner를 설치하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼의 NAS 서비스에서 NFS 프로토콜로 볼륨을 생성해 주십시오.
- NAS 볼륨이 생성되면 마운트 정보의 IP 및 Path 정보를 확인해 주십시오.
- 아래 링크를 참조하여 사용 중인 운영 체제에 알맞은 방법으로 Helm을 설치해 주십시오.
- 아래 명령어를 실행하여 공식 Helm chart repository를 CLI에 추가해 주십시오.
$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
- 아래 명령어를 실행하여 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
로 변경해 주십시오.
변경하는 방법에 대한 자세한 내용은 아래 링크를 참조하십시오.
볼륨 생성 예제
Jenkins를 설치하고 생성된 볼륨을 확인하는 예제는 다음과 같습니다.
- 아래 명령어를 실행하여 Jenkins를 클러스터에 설치해 주십시오.
$ helm --kubeconfig=$KUBE_CONFIG install ci stable/jenkins
- 설치를 완료한 후 아래 명령어를 실행하여
PersistentVolumeClaim
과PersistentVolume
을 확인해 주십시오.$ kubectl --kubeconfig=$KUBE_CONFIG get pvc $ kubectl --kubeconfig=$KUBE_CONFIG get pv
이 문서가 도움이 되었습니까?