NASボリューム CSI
    • PDF

    NASボリューム CSI

    • PDF

    記事の要約

    VPC環境で利用できます。

    実行中のコンテナにファイルを新たに追加する場合、それらファイルはプロセスが終了するか、Kubernetes Liveness Probeのステータスチェックに失敗してコンテナが再起動する際にすべて削除されます。このとき、NASボリュームを使用して新たに追加されたファイルが、プロセスの終了またはコンテナの再起動の後にも維持されるように設定します。

    Kubernetes NASボリュームコンテナをリリース時、PersistentVolumeClaim(PVC)を作成して追加できます。

    NAVERクラウドプラットフォームの Ncloud Kubernetes Serviceは、ボリュームドライバとして Container Storage Interface(CSI)を提供します。このドライバは Kubernetesと連携して NASボリュームの作成、削除、リサイズなどの操作をサポートします。

    サポートするバージョンと容量

    サポートするバージョンおよび容量情報を説明します。

    サポートするバージョン

    NAVERクラウドプラットフォームで提供する NAS CSIバージョンと互換 Kubernetesバージョンは、次の通りです。

    Ncloud NAS CSI Driver\Kubernetes Version1.181.191.201.211.221.23+
    v1.0.xサポートサポートサポートサポートサポートサポート
    v2.0.xサポートしないサポートしないサポートしないサポートしないサポートサポート
    v2.1.xサポートしないサポートしないサポートしないサポートしないサポートサポート

    Kubernetesバージョンでサポートするストレージサービスは、次の通りです。

    Service\Kubernetes Version1.18+
    ボリューム作成サポート
    ボリューム削除サポート
    ボリューム拡張(リサイズ)サポート
    サーバにボリューム割り当てサポート
    サーバにボリューム解除サポート
    スナップショット作成サポートしない
    スナップショット削除サポートしない

    割り当て可能な容量

    Kubernetes NASボリュームは CSIを通じて100GB単位で容量を割り当てられます。ボリュームの容量を別途定義しない場合、デフォルト値の500GBで NASボリュームを作成します。割り当て可能な最小容量と最大容量は、次の通りです。

    • 最小: 500GB
    • 最大: 10,000GB

    NAS CSIドライバインストール(既存の未インストールクラスタ用)

    NAS CSIドライバは、Kubernetesをインストールする際にデフォルトでリリースします。この節は既存の未インストールクラスタで NAS CSIをインストールする方法について説明します。NAS CSIを既にインストールした場合は、以下のタスクは実行しません。

    NAS CSI Driverリリース

    以下のファイルは最新の安定バージョンを指します。インストール中に問題が発生する場合、kubectl apply -fコマンドを再実行して漏れリソースが再反映できるようにします。

    • 韓国リージョン
    # kubernetes version >= 1.22
    $ kubectl --kubeconfig=$KUBE_CONFIG apply -f https://kr.object.ncloudstorage.com/nks-download/nas-csi/pub/kr/v2.1.0/nas-csi.yaml
    
    # kubernetes version < 1.22
    $ kubectl --kubeconfig=$KUBE_CONFIG apply -f https://kr.object.ncloudstorage.com/nks-download/nas-csi/pub/kr/v1.0.2/nas-csi.yaml
    
    • シンガポールリージョン
    # kubernetes version >= 1.22
    $ kubectl --kubeconfig=$KUBE_CONFIG apply -f https://kr.object.ncloudstorage.com/nks-download/nas-csi/pub/sgn/v2.1.0/nas-csi.yaml
    
    # kubernetes version < 1.22
    $ kubectl --kubeconfig=$KUBE_CONFIG apply -f https://kr.object.ncloudstorage.com/nks-download/nas-csi/pub/sgn/v1.0.2/nas-csi.yaml
    
    • 日本リージョン
    # kubernetes version >= 1.22
    $ kubectl --kubeconfig=$KUBE_CONFIG apply -f https://kr.object.ncloudstorage.com/nks-download/nas-csi/pub/jpn/v2.1.0/nas-csi.yaml
    

    NAS CSIドライバの詳細

    StorageClass

    StorageClassは、各ストレージのポリシーとタイプを設定したオブジェクトです。NAVERクラウドプラットフォームは NASボリュームを使用する StorageClassを提供します。
    NASボリュームの StorageClassオブジェクトを確認するには、nks-nas-csiという名前を持つオブジェクトを確認します。以下のように表示されます。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: nks-nas-csi
    mountOptions:
    - hard
    - nolock
    - nfsvers=3
    provisioner: nas.csi.ncloud.com
    reclaimPolicy: Delete
    volumeBindingMode: WaitForFirstConsumer
    allowVolumeExpansion: true
    
    • volumeBindingMode: ボリュームバインディングと動的プロビジョニングが動作する時点を設定します。デフォルト値は Immediateです。
    モード説明
    ImmediatePVCが作成される時点に動作
    WaitForFirstConsumerPodが作成される時点に動作
    • reclaimPolicy: 使用が終わった PVCを削除する際に、使用中であった PersistentVolumeを再確保または削除するようにポリシーを設定します。デフォルト値は Deleteです。
    ポリシー説明
    RetainPVCを削除する際に使用中の PVは再使用できるステータスに変更し、NASボリューム内部のデータを維持
    DeletePVCを削除する際に使用中の PVを一緒に削除し、NASボリュームを返却
    • allowVolumeExpansion: 値を trueに設定して PersistentVolumeClaimを拡張できます。
    参考

    Retainポリシーを通じて再確保した NASボリュームは、NAVERクラウドプラットフォームコンソールや APIを通じて返却できます。

    Default Storage Classの変更

    作成した StorageClassオブジェクトのデフォルト Storage Classの内容を変更するには、Changing the default StorageClassをご参照ください。

    CSI Controller

    CSI Controllerとは、ボリュームの作成、削除、割り当て、割り当て解除、スナップショットなどの各種制御と管理を担当するインターフェースです。

    NAS CSI Controllerを確認するには、以下のコマンドを通じて名前空間 kube-system内の Deploymentオブジェクトを確認します。

    $ kubectl --kubeconfig $KUBE_CONFIG get deployment -n kube-system
    

    CSI Node

    CSIノードは、Kubernetesのワーカーノードごとに1つずつ動作するノードであり、ボリュームのフォーマット、マウント、アンマウントなどの動作を担当します。

    NAS CSI Nodeを確認するには、以下のコマンドを通じて名前空間 kube-system内の DaemonSetリソースを確認します。

    $ kubectl --kubeconfig $KUBE_CONFIG get daemonset -n kube-system
    

    NAS-CSIドライバ使用

    NAS-CSIドライバの使用に関する詳細なユースケースは、NASボリューム CSI のユースケースをご参照ください。


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

    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.