すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:静的にプロビジョニングされた NAS ボリュームをマウントする

最終更新日:Jul 23, 2025

File Storage NAS (NAS) は、高可用性とパフォーマンスを提供しながら、共有アクセスと弾性スケーリングをサポートする分散ファイルシステムです。 NAS は、ビッグデータ分析、データ共有、Web アプリケーション、ログストレージなどのシナリオに適しています。 Container Storage Interface (CSI) プラグインを使用すると、既存の NAS ファイルシステムを使用して永続ボリューム (PV) と永続ボリューム要求 (PVC) を作成し、永続的および共有データストレージのためにワークロードにマウントできます。

前提条件

  • CSI プラグインがクラスターにインストールされています。 アップグレード方法の詳細については、「csi-plugin と csi-provisioner を更新する」をご参照ください。

    説明

    クラスターで FlexVolume が使用されている場合は、FlexVolume は非推奨であるため、FlexVolume を CSI にアップグレードします。 詳細については、「FlexVolume から CSI へのアップグレード」をご参照ください。 [操作] > [アドオン] を選択し、[ストレージ] タブをクリックして、ストレージコンポーネントタイプを確認します。

  • 既存の NAS ファイルシステムが以下の要件を満たしていることを確認してください。 そうでない場合は、ファイルシステムを作成するか、動的にプロビジョニングされた NAS ボリュームをマウントする

    • プロトコルタイプは NFS です。

      ACK は、SMB プロトコルを使用する NAS ファイルシステムのマウントをサポートしていません。

    • マウントポイントとクラスターノードは同じ VPC に属し、マウントポイントの [ステータス][利用可能] です。 マウントポイントの作成方法の詳細については、「マウントポイントを管理する」をご参照ください。

      NAS ファイルシステムを複数のポッドにマウントする場合、ポッドは同じ VPC にデプロイする必要があります。 NAS ファイルシステムを異なる VPC のポッドにマウントすることはできません。 同じ VPC 内では、NAS はゾーンをまたいでマウントできます。

    説明

    NAS ボリューム内のデータを暗号化する場合は、NAS ファイルシステムの作成時に暗号化設定を構成します。

使用上の注意

静的にプロビジョニングされた NAS ボリュームをマウントする(kubectl)

ステップ 1:PV を作成する

  1. 次の YAML コンテンツを変更し、pv-nas.yaml として保存します。

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv-nas
      labels:
        alicloud-pvname: pv-nas
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadWriteMany
      csi:
        driver: nasplugin.csi.alibabacloud.com
        volumeHandle: pv-nas   # PV の名前を入力します。
        volumeAttributes:
          server: "0c47****-mpk25.cn-shenzhen.nas.aliyuncs.com"  # マウントターゲットアドレス。マウントターゲットが属する VPC は、クラスタが属する VPC と同じである必要があります。
          path: "/csi"  # NAS ファイルシステムのサブディレクトリを指定します。
      mountOptions:
      - nolock,tcp,noresvport
      - vers=3

    パラメーター

    説明

    name

    PV の名前。

    labels

    PV に追加するラベル。

    storage

    PV の容量。

    重要

    NAS ボリュームの実際の利用可能な容量はこの構成によって制限されません。容量は、NAS ファイルシステムの仕様によって決まります。詳細については、「汎用型 NAS」および「超高速型 NAS」を参照して、具体的な利用可能な容量を確認してください。

    accessModes

    PV のアクセスモード。デフォルト値は ReadWriteMany です。ReadWriteOnce または ReadOnlyMany に設定することもできます。

    driver

    ボリュームのプロビジョニングに使用するボリュームドライバのタイプ。この例では、パラメーターは nasplugin.csi.alibabacloud.com に設定されています。これは、Alibaba Cloud が提供する CSI プラグインが使用されていることを示します。

    volumeHandle

    PV の一意の識別子。PV の名前を入力します。複数の PV を使用する場合は、各 PV の識別子は一意である必要があります。

    server

    マウントターゲットアドレス。マウントターゲットが属する VPC は、クラスタが属する VPC と同じである必要があります。

    マウントターゲットアドレスの表示方法については、「マウントターゲットの管理」をご参照ください。

    path

    マウントする NAS ファイルシステムのサブディレクトリ。

    • このパラメーターを設定しない場合、デフォルトでルートディレクトリがマウントされます。

    • 指定されたサブディレクトリが NAS ファイルシステムに存在しない場合、システムは自動的にサブディレクトリを作成し、マウントします。

    説明

    汎用型 NAS ファイルシステムのルートディレクトリは / で、超高速型 NAS ファイルシステムのルートディレクトリは /share です。超高速型 NAS ファイルシステムのサブディレクトリをマウントする場合、path/share で始まる必要があります(例:/share/data)。

    mountOptions

    NAS ファイルシステムのマウントオプション(NFS プロトコルバージョンを含む)。NFS v3 を使用することをお勧めします。超高速型 NAS ファイルシステムは NFS v3 のみをサポートしています。NFS プロトコルの詳細については、「NFS プロトコル」をご参照ください。

  2. PV を作成します。

    kubectl create -f pv-nas.yaml
  3. PV を表示します。

    kubectl get pv

    予想される出力:

    NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM    STORAGECLASS     VOLUMEATTRIBUTESCLASS   REASON   AGE
    pv-nas   5Gi        RWX            Retain           Available                             <unset>                          25s

ステップ 2:PVC を作成する

  1. 次の YAML コンテンツを pvc-nas.yaml という名前のファイルに保存します。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc-nas
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 5Gi
      selector:
        matchLabels:
          alicloud-pvname: pv-nas

    パラメーター

    説明

    name

    PVC の名前。

    accessModes

    アクセスモード。デフォルト値は ReadWriteMany です。ReadWriteOnce または ReadOnlyMany に設定することもできます。

    storage

    PV の容量。

    重要

    NAS ボリュームの実際の利用可能な容量はこの構成によって制限されません。容量は、NAS ファイルシステムの仕様によって決まります。詳細については、「汎用型 NAS」および「超高速型 NAS」を参照して、具体的な利用可能な容量を確認してください。

    matchLabels

    PV を選択して PVC にバインドするために使用するラベル。

  2. PVC を作成します。

    kubectl create -f pvc-nas.yaml
  3. PVC を表示します。

    kubectl get pvc

    次の出力は、PVC が PV にバインドされていることを示しています。

    NAME       STATUS   VOLUME    CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
    pvc-nas    Bound    pv-nas    5Gi        RWX                           <unset>                 5s

ステップ 3:アプリケーションを作成し、NAS ボリュームをマウントする

  1. 次の YAML コンテンツを nas.yaml として保存します。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nas-test
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-nas
                mountPath: "/data"
          volumes:
            - name: pvc-nas
              persistentVolumeClaim:
                claimName: pvc-nas

    パラメーター

    説明

    mountPath

    NAS ボリュームがマウントされるコンテナのパス。

    claimName

    アプリケーションにマウントされる PVC の名前。

  2. デプロイメントを作成し、NAS ボリュームをマウントします。

    kubectl create -f nas.yaml
  3. デプロイメントによって作成されたポッドのステータスを確認します。

    kubectl get pod -l app=nginx

    予想される出力:

    NAME                  READY   STATUS    RESTARTS   AGE
    nas-test-****-***a    1/1     Running   0          32s
    nas-test-****-***b    1/1     Running   0          32s

静的にプロビジョニングされた NAS ボリュームをマウントする (kubectl)

ステップ 1:永続ボリューム (PV) を作成する

  1. ACK コンソール にログオンします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、目的のクラスターを見つけて名前をクリックします。左側のペインで、[ボリューム] > [永続ボリューム] を選択します。

  3. [永続ボリューム] ページで、[作成] をクリックします。

  4. 表示されたダイアログボックスで、パラメーターを構成し、[作成] をクリックします。

    パラメーター

    説明

    PV タイプ

    [NAS] を選択します。

    NAS

    ボリューム名

    ボリュームの名前。名前はクラスター内で一意である必要があります。

    pv-nas

    容量

    PV の容量。

    重要

    NAS ボリュームの実際の利用可能容量はこの構成によって制限されません。容量は、NAS ファイルシステムの仕様によって決まります。詳細については、「汎用型 NAS」および「超高速型 NAS」を参照して、具体的な利用可能容量を確認してください。

    5Gi

    アクセスモード

    [ReadWriteMany] または [ReadWriteOnce] を選択できます。

    ReadWriteMany

    CNFS を有効にする

    Container Network File System (CNFS) を有効にするかどうかを指定します。CNFS を使用して NAS を管理すると、NAS のパフォーマンスとサービス品質 (QoS) 制御を向上させることができます。

    このトピックでは、CNFS を有効にせずに、既存の NAS ファイルシステムを直接使用してボリュームを作成する方法について説明します。CNFS で既存の NAS ファイルシステムを構成する方法の詳細については、「CNFS を使用して NAS ファイルシステムを管理する (推奨)」をご参照ください。

    無効

    マウントターゲット ドメイン名

    CNFS が無効になっている場合は、このパラメーターを構成する必要があります。

    [マウントターゲットを選択] または [カスタム] を選択して、マウントする NAS ファイルシステムを構成できます。マウントターゲットアドレスを表示する方法の詳細については、「マウントターゲットを管理する」をご参照ください。

    0c47****-mpk25.cn-shenzhen.nas.aliyuncs.co

    詳細オプション (オプション)

    マウントパス

    マウントする NAS ファイルシステムのサブディレクトリ。

    • このパラメーターを設定しない場合、デフォルトでルートディレクトリがマウントされます。

    • 指定されたサブディレクトリが NAS ファイルシステムに存在しない場合、システムは自動的にサブディレクトリを作成してマウントします。

    説明

    汎用型 NAS ファイルシステムのルートディレクトリは / で、超高速型 NAS ファイルシステムのルートディレクトリは /share です。超高速型 NAS ファイルシステムのサブディレクトリをマウントする場合、path/share で始まる必要があります (例: /share/data)。

    /data

    再利用ポリシー

    デフォルト値は [Retain] です。これは、PVC が削除されたときに、関連する PV と NAS ファイルシステムが保持され、手動でのみ削除できることを示します。

    説明

    [削除]archiveOnDelete と一緒に使用する必要があります。静的 PV は archiveOnDelete をサポートしていないため、ここで [削除] を選択した場合、PVC が削除されても PV と NAS ファイルシステムは実際には削除されません。archiveOnDelete を構成する場合は、「動的にプロビジョニングされた NAS ボリュームを使用する」をご参照ください。

    Retain

    マウントオプション

    NFS プロトコルバージョンを含む、NAS ファイルシステムのマウントオプション。NFS v3 を使用することをお勧めします。超高速型 NAS ファイルシステムは NFS v3 のみをサポートしています。NFS プロトコルの詳細については、「NFS プロトコル」をご参照ください。

    • nolock,tcp,noresvport

    • vers=3

    ラベル

    PV にラベルを追加します。

    pv-nas

    PV を作成した後、[永続ボリューム] ページで表示できます。

ステップ 2: 永続ボリューム要求 (PVC) の作成

  1. 詳細ページの左側のナビゲーションウィンドウで、[ボリューム] > [永続ボリュームクレーム] を選択します。

  2. [永続ボリュームクレーム] ページで、[作成] をクリックします。

  3. 表示されるダイアログボックスで、パラメーターを構成し、[作成] をクリックします。

    パラメーター

    説明

    ストレージクレームタイプ

    NAS を選択します。

    NAS

    名前

    PVC の名前。名前は、クラスタ内で一意である必要があります。

    pvc-nas

    割り当てモード

    既存のボリュームを選択します。

    説明

    PV が作成されていない場合は、割り当てモード パラメーターを ボリュームの作成 に設定し、必要なパラメーターを構成して PV を作成できます。

    既存のボリュームを選択

    既存のストレージボリューム

    [既存のボリュームを選択] をクリックし、使用する PV を見つけて、アクション列の [選択] をクリックします。

    pv-nas

    容量

    PV の容量。要求された容量は、PV の合計容量を超えることはできません。

    重要

    NAS ボリュームの実際の利用可能な容量は、この構成によって制限されません。容量は、NAS ファイルシステムの仕様によって決まります。詳細については、「汎用 NAS」および「Extreme NAS」をご参照ください。具体的な利用可能な容量を確認してください。

    5

    アクセスモード

    デフォルト値は、ReadWriteMany です。値を ReadWriteOnce または ReadOnlyMany に設定することもできます。

    ReadWriteMany

ステップ 3: アプリケーションの作成と NAS ボリュームのマウント

  1. クラスタ詳細ページの左側のナビゲーションウィンドウで、[ワークロード] > [デプロイメント] を選択します。

  2. [ステートレス] ページで、[イメージから作成] をクリックします。

  3. アプリケーションのパラメーターを構成します。パラメーターを構成した後、[作成] をクリックします。

    次の表は、主要なパラメーターについて説明しています。その他のパラメーターにはデフォルト設定を使用します。詳細については、「デプロイメントを使用してステートレスアプリケーションを作成する」をご参照ください。

    セクション

    パラメーター

    説明

    基本情報

    名前

    デプロイメントのカスタム名を入力します。名前は、コンソールに表示される形式の要件を満たしている必要があります。

    nas-test

    レプリカ

    デプロイメントのレプリカ数。

    2

    コンテナー

    イメージ名

    アプリケーションのデプロイに使用するイメージのアドレス。

    anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6

    必要なリソース

    必要な vCPU とメモリリソース。

    0.25 Core、512 MiB

    ボリューム

    [PVC を追加] をクリックし、パラメーターを構成します。

    • マウントソース: 作成した PVC を選択します。

    • コンテナーパス: NAS ファイルシステムをマウントするコンテナーパスを指定します。

    • マウントソース: pvc-nas

    • コンテナーパス: /data

  4. アプリケーションのデプロイステータスを表示します。

    1. [デプロイメント] ページで、アプリケーションの名前をクリックします。

    2. [ポッド] タブで、ポッドが [実行中] 状態であるかどうかを確認します。

NAS の共有ストレージと永続ストレージの機能を確認する

前の例で作成したデプロイメントは、2 つのポッドをプロビジョニングし、NAS ファイルシステムをポッドにマウントします。 以下の方法で確認できます。

  • 1 つのポッドにファイルを作成し、もう 1 つのポッドからファイルを表示して、共有ストレージを確認します。

  • デプロイメントを再作成します。 その後、ファイルシステムに保存されているデータが、新しく作成されたポッドに存在するかどうかを確認して、永続ストレージを確認します。

  1. ポッド情報を表示します。

    kubectl get pod | grep nas-test

    出力例:

    nas-test-*****a   1/1     Running   0          40s
    nas-test-*****b   1/1     Running   0          40s
  2. 共有ストレージを確認します。

    1. ポッドにファイルを作成します。

      この例では、nas-test-*****a ポッドを使用します。

      kubectl exec nas-test-*****a -- touch /data/test.txt
    2. 別のポッドからファイルを表示します。

      この例では、nas-test-*****b ポッドを使用します。

      kubectl exec nas-test-*****b -- ls /data

      期待される出力は、新しく作成されたファイル test.txt が共有されていることを示しています。

      test.txt
  3. 永続ストレージを確認します。

    1. デプロイメントを再作成します。

      kubectl rollout restart deploy nas-test
    2. ポッドが再作成されるまで待ちます。

      kubectl get pod | grep nas-test

      出力例:

      nas-test-*****c   1/1     Running   0          67s
      nas-test-*****d   1/1     Running   0          49s
    3. 再作成されたポッドにログインし、ファイルがファイルシステムにまだ存在するかどうかを確認します。

      この例では、nas-test-*****c ポッドを使用します。

      kubectl exec nas-test-*****c -- ls /data

      次の出力は、ファイルがまだ NAS ファイルシステムに存在し、再作成されたポッドのマウントディレクトリからアクセスできることを示しています。

      test.txt

よくある質問

NAS ボリュームのマウントと使用時に問題が発生した場合は、トラブルシューティングのために次のドキュメントを参照してください。

参考文献

CNFS を使用すると、NAS ファイルシステムを個別に管理し、NAS ファイルシステムのパフォーマンスとサービス品質 ( QoS ) コントロールを向上させることができます。詳細については、「CNFS を使用して NAS ファイルシステムを管理する (推奨)」をご参照ください。