NFS Client Provisioner の設定
    • PDF

    NFS Client Provisioner の設定

    • PDF

    Article Summary

    VPC環境で利用できます。

    NFS Client Provisionerは、PersistentVolumeClaimを用いて既に構成されている NFSサーバに、Persistent Volumeを自動で作成する Provisionerです。

    Helm CLIを用いて NFS Client Provisionerをインストールし、NAVERクラウドプラットフォームの NASサービスに作成したボリュームと連携します。使用する前に以下をご参照ください。

    • このガイドは Helm v3を基準に作成されました。
    • Helmを使用するには、Kubectlのインストールと kubeconfigの設定を済ませておく必要があります。
    • NFS Client Provisionerを用いて NASにマウントされたワーカーノードを停止する場合、停止失敗状態になります。これは OSのバグであり、マウントされた 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. NAVERクラウドプラットフォームの NASサービスで NFSプロトコルでボリュームを作成します。

    2. NASボリュームが作成されたら、マウント情報の IPアドレスと Path情報を確認します。

    3. 以下のリンクを参照し、使用中の OSに適した方法で 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-storageに defaultが表示されます。

    PersistentVolumeClaimでボリュームを作成する時、その PersistentVolumeが作成される StorageClassを nfs-client-provisionerに変更するには、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
      

    この記事は役に立ちましたか?

    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.