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

Container Service for Kubernetes:静的プロビジョニング済み NAS ボリュームのマウント

最終更新日:Mar 26, 2026

FlexVolume プラグインを用いて、Apsara File Storage NAS (NAS) ファイルシステムを Container Service for Kubernetes (ACK) クラスターにマウントします。本トピックでは、YAML ファイルおよび ACK コンソールによる永続ボリューム (PV) の作成方法を説明し、その後、永続ボリューム要求 (PVC) の作成と、NAS バックエンドストレージを利用する Pod のデプロイ手順について解説します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

仕組み

NAS ファイルシステムを ACK クラスターにマウントするには、以下の 3 つのステップが必要です。

  1. PV の作成 — クラスター管理者として、NAS ファイルシステムをバックエンドとする PV を定義します。この PV は、まだワークロードとは関連付けられていません。

  2. PVC の作成 — PV を要求します。Kubernetes は、ストレージクラス、アクセスモード、および容量に基づいて、PVC を対応する PV にバインドします。

  3. Pod のデプロイ — Deployment で PVC を参照します。指定したパスに NAS ファイルシステムがコンテナ内にマウントされます。

FlexVolume がクラスターにインストールされると、NFS プロトコルを用いてマウントおよびアンマウント操作を処理します。

ステップ 1:PV の作成

YAML ファイルまたは ACK コンソールを使用して PV を作成します。

オプション 1:YAML ファイルを使用

以下の内容を nas-pv.yaml として保存し、kubectl apply -f nas-pv.yaml を実行します。

<mount-target-domain> をご利用の NAS マウントポイントのドメイン名に置き換え、<subdirectory> をマウント対象の NAS ファイルシステム内のパス(例: /k8s)に置き換えてください。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-nas
spec:
  capacity:
    storage: 5Gi
  storageClassName: nas
  accessModes:
    - ReadWriteMany
  flexVolume:
    driver: "alicloud/nas"
    options:
      server: "<mount-target-domain>"
      path: "<subdirectory>"
      vers: "3"
      options: "nolock,tcp,noresvport"

PV が作成され、Available 状態であることを確認します。

kubectl get pv pv-nas

期待される出力:

NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   AGE
pv-nas   5Gi        RWX            Retain           Available           nas            5s

オプション 2:ACK コンソールを使用

  1. ACK コンソール にログインします。

  2. 左側ナビゲーションウィンドウで、[クラスター] をクリックします。

  3. [クラスター] ページで、対象のクラスター名をクリックするか、[操作] 列の [詳細] をクリックします。

  4. 左側ナビゲーションウィンドウで、[ボリューム] > [永続ボリューム] を選択します。

  5. 右上隅の [作成] をクリックします。

  6. [PV の作成] ダイアログボックスで、下表に記載されたパラメーターを設定します。

パラメーター説明必須デフォルト値
PV タイプ[NAS] を選択します。はい
ボリューム名クラスター内で一意となる PV の名前。例:pv-nasはい
[ボリュームプラグイン][FlexVolume] を選択します。はい
容量PV の容量。NAS ファイルシステムの容量を超えることはできません。はい
[アクセスモード]アクセスモード。NAS ファイルシステムは ReadWriteMany をサポートしており、複数のノードが同時に読み取りおよび書き込みを行うことができます。はいReadWriteMany
[マウントポイントのドメイン名]マウントポイントの管理NAS マウントポイントのドメイン名。詳細については、「」をご参照ください。はい
サブディレクトリNAS ファイルシステム内のサブディレクトリ(先頭に / を付ける)。該当のサブディレクトリが存在しない場合、自動的に作成されます。ルートディレクトリをマウントする場合は、このフィールドを空欄のままにしてください。超高速型 NAS ファイルシステムの場合は、パスは必ず /share で始める必要があります。いいえルートディレクトリ
[権限]マウントされたディレクトリに対するアクセス権限(例:755644777)。サブディレクトリをマウントする場合のみ適用されます。ディレクトリ内に多数のファイルが存在する場合、chmod コマンドの実行時間が長くなるため、このパラメーターの設定は避けてください。いいえ元の権限
[chmod(モード変更)]権限変更の適用範囲: 非再帰的(マウントされたディレクトリのみに適用)または 再帰的(マウントされたディレクトリおよびすべてのサブディレクトリ・ファイルに適用)。FlexVolume のバージョンが V1.14.6.15-8d3b7e7-aliyun より前の場合、権限は常に再帰的に適用されます。V1.14.6.15-8d3b7e7-aliyun 以降のバージョンでは、このパラメーターで適用範囲を制御できます。いいえ
バージョンNFS プロトコルのバージョン。NFSv3 を推奨します。超高速型 NAS ファイルシステムは NFSv3 のみをサポートします。いいえNFSv3
ラベルPV に追加するラベル。いいえ
  1. [作成] をクリックします。

警告

多数のファイルを含むマウント済みディレクトリに対して [再帰的] を選択した場合、chmod コマンドの実行時間が非常に長くなり、マウントまたはアンマウント操作が失敗する可能性があります。

ステップ 2:PVC の作成

以下の内容を nas-pvc.yaml として保存し、kubectl apply -f nas-pvc.yaml を実行します。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-nas
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nas
  resources:
    requests:
      storage: 5Gi

Kubernetes は、ストレージクラス、アクセスモード、および容量が一致することを基に、PVC を pv-nas PV にバインドします。バインド状態を確認します。

kubectl get pvc pvc-nas

期待される出力:

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

STATUSBound である場合、PVC が PV に正常にリンクされていることを示します。

ステップ 3:Pod のデプロイ

以下の内容を nas-pod.yaml として保存し、kubectl apply -f nas-pod.yaml を実行します。

NAS ファイルシステムは、コンテナ内の /data にマウントされます。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nas-static
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
          - name: pvc-nas
            mountPath: /data
      volumes:
        - name: pvc-nas
          persistentVolumeClaim:
            claimName: pvc-nas

Pod が実行中であり、ボリュームが正しくマウントされていることを確認します。

kubectl get pods -l app=nginx

期待される出力:

NAME                          READY   STATUS    RESTARTS   AGE
nas-static-xxxxxxxxx-xxxxx    1/1     Running   0          30s

コンテナ内での NAS ファイルシステムのマウントを確認するには、以下のコマンドを実行します。

kubectl exec -it <pod-name> -- df -h | grep /data

出力には、/data に NAS ファイルシステムがマウントされていることが表示されます。