--- title: "NASボリューム CSI" slug: "k8s-k8suse-nascsi" tags: ["NAS", "Ncloud Kubernetes Service", "VPC"] updated: 2026-09-17T09:31:52Z published: 2026-09-17T09:31:52Z canonical: "guide.ncloud-docs.com/k8s-k8suse-nascsi" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # NASボリューム CSI 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 Version | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23+ | | --- | --- | --- | --- | --- | --- | --- | | v1.0.x | サポート | サポート | サポート | サポート | サポート | サポート | | v2.0.x | 未サポート | 未サポート | 未サポート | 未サポート | サポート | サポート | | v2.1.x | 未サポート | 未サポート | 未サポート | 未サポート | サポート | サポート | | v2.2.x | 未サポート | 未サポート | 未サポート | 未サポート | サポート | サポート | 参考 Kubernetes 1.36以上のクラスタでは NASボリューム CSI(`nks-nas-csi`)のインストール、バージョンアップグレード、削除を Add-onで管理します。インストール可能なバージョンとサポート Kubernetesバージョンは、[Add-on のリリースノート](/docs/ja/k8s-k8suse-addon-release)のバージョン互換性表をご参照ください。 Kubernetesバージョンでサポートするストレージサービスは、次の通りです。 | Service\Kubernetes Version | 1.18+ | 1.22+ | | --- | --- | --- | | ボリューム作成 | サポート | サポート | | ボリューム削除 | サポート | サポート | | ボリューム拡張(リサイズ) | サポート | サポート | | サーバにボリューム割り当て | サポート | サポート | | サーバにボリューム解除 | サポート | サポート | | スナップショット作成 | 未サポート | 未サポート | | スナップショット削除 | 未サポート | 未サポート | | サブディレクトリ作成 | 未サポート | サポート | ### 割り当て可能な容量 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.2.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.2.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.2.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 parameters: csi.storage.k8s.io/provisioner-secret-name: mount-options csi.storage.k8s.io/provisioner-secret-namespace: kube-system provisioner: nas.csi.ncloud.com reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true ``` - `volumeBindingMode`: ボリュームバインディングと動的プロビジョニングが動作する時点を設定します。デフォルト値は Immediateです。 | モード | 説明 | | --- | --- | | `Immediate` | PVCが作成される時点に動作 | | `WaitForFirstConsumer` | Podが作成される時点に動作 | - `reclaimPolicy`: 使用が終わった PVCを削除する際に、使用中であった PersistentVolumeを再確保または削除するようにポリシーを設定します。デフォルト値は Deleteです。 | ポリシー | 説明 | | --- | --- | | `Retain` | PVCを削除する際に使用中であった PVは再使用できるステータスに変更され、NASボリューム内部のデータを維持 | | `Delete` | PVCを削除する際に使用中であった PVを一緒に削除し、NASボリュームを返却 | - `allowVolumeExpansion`: 値を trueに設定して PersistentVolumeClaimを拡張できます。 参考 Retainポリシーを通じて再確保した NASボリュームは、NAVERクラウドプラットフォームコンソールや APIを通じて返却できます。 - `parameters.subDir`: 1つの NASボリューム内にサブディレクトリを作成し、複数の PVCが同じ NASボリュームを共有できるように、NFS共有パス下のサブディレクトリパスを設定できます。指定しない場合、PV名でサブディレクトリが作成されます。`[NAS CSI v2.2.0+]` `parameters.subDir` 値に以下のパターンを使用すると、PVC/PVメタデータに自動的に置換されます。 | パターン | 置換される値 | | --- | --- | | `${pvc.metadata.name}` | PVC名 | | `${pvc.metadata.namespace}` | PVCの名前空間 | | `${pv.metadata.name}` | PV名 | 注意 `parameters.subDir` 値に **#**文字は使用できません。 - `parameters.deleteOnlySubdir`: PVCを削除する際、サブディレクトリのみ削除有無を設定できます。デフォルト値は **false**です。`[NAS CSI v2.2.0+]` 参考 `parameters.deleteOnlySubdir`は reclaimPolicyが **Delete**の場合にのみ有効です。 NASボリュームとサブディレクトリをすべて保持するには、StorageClassの reclaimPolicyを **Retain**に設定してください。 #### Default Storage Classの変更 作成した StorageClassオブジェクトのデフォルト Storage Classの内容を変更するには、[Changing the default StorageClass](https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass)をご参照ください。 ### CSI Controller CSI Controllerとは、ボリュームの作成、削除、割り当て、割り当て解除、スナップショットなどの各種制御と管理を担当するインターフェースです。 NAS CSI Controllerを確認するには、以下のコマンドを通じて名前空間 kube-system内の関連 Podを確認します。 ``` $ kubectl --kubeconfig $KUBE_CONFIG get pods -n kube-system -l app=nks-nas-csi-controller ``` ### CSI Node CSIノードは、Kubernetesのワーカーノードごとに1つずつ動作するノードであり、ボリュームのフォーマット、マウント、アンマウントなどの動作を担当します。 NAS CSI Nodeを確認するには、以下のコマンドを通じて名前空間 kube-system内の関連 Podを確認します。 ``` $ kubectl --kubeconfig $KUBE_CONFIG get pods -n kube-system -l app=nks-nas-csi-node ``` ## NAS-CSIドライバ使用 NAS-CSIドライバー使用に関するユースケースは、[NASボリューム CSI のユースケース](/docs/ja/k8s-k8sexamples-nascsi)をご参照ください。