NFS Client Provisioner 설정
    • PDF

    NFS Client Provisioner 설정

    • PDF

    기사 요약

    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를 축출한 후 노드를 정지하는 것을 권장합니다.
    • Kubernetes Service (VPC)는 NAS 볼륨 CSI를 통해 NFS 기반의 스토리지 솔루션을 사용할 수 있습니다. NFS Client Provisioner의 설치는 필수 항목은 아니나 사용자의 편의를 위해 NFS Client Provisioner에 대한 가이드를 제공하고 있습니다.

    NFS Client Provisioner 설치

    Helm을 사용하여 NFS Client Provisioner를 설치하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼의 NAS 서비스에서 NFS 프로토콜로 볼륨을 생성해 주십시오.
    2. NAS 볼륨이 생성되면 마운트 정보의 IP 및 Path 정보를 확인해 주십시오.
    3. 아래 링크를 참조하여 사용 중인 운영 체제에 알맞은 방법으로 Helm을 설치해 주십시오.
    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-storagedefault가 표시됩니다.

    PersistentVolumeClaim을 통해 볼륨을 생성할 때, 해당 PersistentVolume이 생성되는 StorageClass를 nfs-client-provsioner로 변경하려면 default 설정을 nfs-client로 변경해 주십시오.

    변경하는 방법에 대한 자세한 내용은 아래 링크를 참조하십시오.


    볼륨 생성 예제

    Jenkins를 설치하고 생성된 볼륨을 확인하는 예제는 다음과 같습니다.

    1. 아래 명령어를 실행하여 Jenkins를 클러스터에 설치해 주십시오.
      $ helm --kubeconfig=$KUBE_CONFIG install ci stable/jenkins
      
    2. 설치를 완료한 후 아래 명령어를 실행하여 PersistentVolumeClaimPersistentVolume을 확인해 주십시오.
      $ kubectl --kubeconfig=$KUBE_CONFIG get pvc
      
      $ kubectl --kubeconfig=$KUBE_CONFIG get pv
      

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.