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

Container Service for Kubernetes:共有 NAS ボリュームの設定

最終更新日:Mar 27, 2026

複数の Pod にまたがって実行される ML トレーニングジョブでは、トレーニングデータに対して単一で一貫性のあるビューが必要です。Apsara File Storage NAS (NAS) は、複数の Pod が同時にマウントできる共有ネットワークファイルシステム (NFS) を提供するため、このシナリオに適しています。このトピックでは、NAS ファイルシステムを作成し、それを Kubernetes 永続ボリューム (PV) および永続ボリューム要求 (PVC) として Container Service for Kubernetes (ACK) クラスターに登録し、Arena で使用するためのトレーニングデータを入力する手順を説明します。

事前準備

作業を開始する前に、以下の項目が満たされていることを確認してください。

  • 実行中の ACK クラスターがあること

  • NAS ファイルシステムを作成し、ACK ストレージリソースを管理するための十分な権限があること

  • NAS ファイルシステムをマウントしてデータを入力するために使用する、ACK クラスターと同じ Virtual Private Cloud (VPC) 内に Elastic Compute Service (ECS) インスタンスがあること

注意事項

開始する前に、以下の制約を確認してください。

  • VPC のコロケーションが必須です。NAS ファイルシステム、そのマウントポイント、および ACK クラスターはすべて同じ VPC 内に存在する必要があります。

  • プロトコルタイプはマルチライターのパフォーマンスに影響します。複数の ECS インスタンスが同時に同じファイルに書き込む必要がない場合、NFSv3 はより良いパフォーマンスを提供します。エクストリーム NAS は NFSv3 のみをサポートします。

  • PV 容量はマッチングにのみ使用されます。PV と PVC に設定された容量値は、PVC と PV のマッチングにのみ使用され、実際に使用可能なストレージを制限するものではありません。実際のストレージ上限は、NAS ファイルシステムの仕様によって決まります。

  • 静的 PV は `archiveOnDelete` をサポートしていません。静的 PV のリクレームポリシーを Delete に設定しても、PVC が削除されたときに PV と NAS データは削除されません。動的にプロビジョニングされた NAS ボリュームを使用している場合を除き、Retain (デフォルト) を使用してください。

ステップ 1:NAS インスタンスの作成

ACK クラスターと同じリージョンおよび VPC に、汎用 NAS ファイルシステムを作成します。

詳細な手順については、「コンソールを使用して汎用 NAS ファイルシステムを作成する」をご参照ください。

ファイルシステムを設定する際は、以下の必須値を使用してください。

パラメーター必須値
ファイルシステムタイプ汎用 NAS
リージョンACK クラスターと同じリージョン
VPCACK クラスターと同じ VPC
プロトコルタイプNFS

ステップ 2:ファイルシステムを ECS インスタンスにマウント

後でトレーニングデータを入力できるように、NAS ファイルシステムを ECS インスタンスにマウントします。このステップでは、NAS コンソールのワンクリックマウント機能を使用します。他のマウント方法については、「ファイルシステムをマウントするシナリオ」をご参照ください。

NAS ファイルシステムのマウント

  1. NAS コンソールにログインします。左側のナビゲーションウィンドウで、[ファイルシステム] > [ファイルシステムリスト] を選択します。

  2. 上部のナビゲーションバーで、ファイルシステムが存在するリソースグループとリージョンを選択します。

    image

  3. 作成したファイルシステムを見つけ、[操作] 列の [マウント] をクリックします。

    マウント機能を初めて使用する場合、NAS によって AliyunServiceRoleForNasEcsHandler サービスリンクロールを割り当てるように求められます。画面の指示に従って、権限付与を完了してください。詳細については、「NAS のサービスリンクロール」をご参照ください。
  4. [マウント] パネルで、マウント設定を構成します。

    1. マウントポイントを選択し、[次へ] をクリックします。

    2. ECS インスタンスを選択し、[次へ] をクリックします。ECS インスタンスはファイルシステムと同じ VPC 内にある必要があります。リストにインスタンスが表示されない場合は、ページをリフレッシュしてもう一度試してください。> [注:] 複数の ECS インスタンスに NAS ファイルシステムを一度にマウントするには、「複数の ECS インスタンスに NFS ファイルシステムを一度にマウントする」をご参照ください。

    3. マウントパラメーターを設定します。

      パラメーター説明必須デフォルト
      マウントパスファイルシステムをマウントする ECS インスタンス上のローカルディレクトリです。はい
      自動マウント有効にすると、ECS インスタンスの再起動時にファイルシステムが自動的に再マウントされます。いいえ有効
      プロトコルタイプNFS プロトコルのバージョンです。汎用 NAS は NFSv3 および NFSv4 をサポートし、エクストリーム NAS は NFSv3 のみをサポートします。複数の ECS インスタンスが同時に同一ファイルへの書き込みを必要としない場合は、最適なパフォーマンスを得るために NFSv3 を使用してください。はい
      NAS ディレクトリマウントする NAS ファイルシステム内のディレクトリです。/ を入力するとルートディレクトリ、/abc のようにサブディレクトリを指定することもできます。ディレクトリが存在しない場合は、新規ディレクトリの確認 を選択してください。その場合、新しいディレクトリの UID、GID、および POSIX 権限も設定する必要があります。いいえ/ (ルート)
      マウントパラメーターNFS マウントフラグです。パラメーターの完全なリファレンスについては、「Linux ECS インスタンスへの NFS ファイルシステムのマウント」をご参照ください。いいえデフォルトのマウントパラメーター
  5. Complete]をクリックします。マウント操作には約 1〜2 分かかります。マウントステータスが[Mounted]と表示されたら、NAS ファイルシステムの準備が完了しています。ステータスが[Failed]と表示された場合は、内蔵のトラブルシューティングツールを使用してください。詳細については、「Linux ECS インスタンスに NFS ファイルシステムをマウントする」をご参照ください。

    image

マウントの確認

ECS インスタンスに接続し、次のコマンドを実行してファイルシステムがアクセス可能であることを確認します。

mkdir /mnt/dir1
mkdir /mnt/dir2
touch /mnt/file1
echo 'some file content' > /mnt/file2
ls /mnt

出力には dir1dir2file1file2 がリストされます。

image.png

マウントの詳細を表示したり、ファイルシステムの容量を確認したりするには、mount -l または df -h を実行します。

各 NAS ファイルシステムには、ECS インスタンスに接続するためのマウントポイントが必要です。マウントポイントを追加したり、既存のマウントポイントアドレスを検索したりするには、「マウントポイントの管理」をご参照ください。マウントポイントを追加する際は、[マウントポイントタイプ][VPC] に設定し、ACK クラスターと同じ VPC と vSwitch を選択してください。

ステップ 3:PV と PVC の作成

ACK クラスターに NAS ファイルシステムを PV として登録し、Pod がそこからストレージを要求できるように PVC を作成します。

PV の作成

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

  2. [クラスター] ページで、対象のクラスターの名前をクリックします。左側のナビゲーションウィンドウで、[ボリューム] > [永続ボリューム] を選択します。

  3. [永続ボリューム] ページで、[作成] をクリックします。ダイアログボックスでパラメーターを設定し、[OK] をクリックします。

    パラメーター説明必須デフォルト
    PV タイプ[NAS] を選択します。はいNAS
    名前クラスター内で一意の PV 名。はいpv-nas
    容量PVC マッチングにのみ使用されます。実際に使用可能なストレージを制限するものではありません。実際のストレージ上限は、NAS ファイルシステムの仕様によって決まります。詳細については、「汎用 NAS ファイルシステム」および「エクストリーム NAS ファイルシステム」をご参照ください。はい5 Gi
    アクセスモードReadWriteMany は、複数のノードが同時にボリュームを読み書き可能としてマウントできます。ReadWriteOnce は、マウントを単一のノードに制限します。はいReadWriteMany
    CNFS の有効化コンテナ ネットワーク ファイル システム (CNFS) を使用して、O&M の自動化、キャッシュアクセラレーション、パフォーマンスモニタリングを行うかどうか。既存の NAS ファイルシステムを CNFS で管理するには、「NAS ファイルシステムを管理するための CNFS の作成 (推奨)」をご参照ください。いいえ無効無効
    マウントポイントのドメイン名CNFS が無効な場合にのみ利用可能です。NAS マウントポイントのアドレス。以前に追加したマウントポイントから選択するか、カスタムドメイン名を入力します。アドレスを検索するには、「マウントポイントの管理」をご参照ください。はい (CNFS が無効な場合)0c47****-mpk25.cn-shenzhen.nas.aliyuncs.co
    マウントパス (詳細)マウントする NAS ファイルシステムのサブディレクトリ。エクストリーム NAS の場合、パスは /share で始まる必要があります (例:/share/data)。ディレクトリが存在しない場合は、自動的に作成されます。いいえ/ (ルート)/data
    回収ポリシーRetain (デフォルト):PVC が削除されても、PV と NAS データは保持され、手動でクリーンアップする必要があります。DeletearchiveOnDelete と一緒に使用する必要があります。静的 PV は archiveOnDelete をサポートしていないため、このポリシーを設定しても PV とデータは削除されません。archiveOnDelete の設定については、「動的にプロビジョニングされた NAS ボリュームの使用」をご参照ください。いいえRetainRetain
    マウントオプションNFS プロトコルのバージョンとマウントフラグ。NFSv3 は、複数のクライアントが同時書き込みなしで同じデータセットから読み取る ML トレーニングワークロードで、より良いパフォーマンスを提供します。いいえnolock,tcp,noresvport<br>vers=3
    ラベルPV にアタッチするラベル。いいえpv-nas

PVが作成されると、[永続ボリューム] ページに表示されます。

PVC の作成

  1. ナビゲーションウィンドウで、[ストレージ] > [永続ボリューム要求] を選択します。

  2. [永続ボリューム要求] ページで、[作成] をクリックします。パラメーターを設定し、[OK] をクリックします。

    パラメーター説明必須デフォルト
    PVC タイプ[NAS] を選択します。はいNAS
    名前クラスター内で一意の PVC 名。はいpvc-nas
    割り当てモード上記で作成した PV にバインドするには、[既存の永続ボリュームを使用] を選択します。または、[ボリュームの作成] を選択して新しい PV をインラインでプロビジョニングします。はい既存の永続ボリュームを使用
    既存のボリューム前のステップで作成した PV を選択します。はい (既存の PV を使用する場合)pv-nas
    容量要求するストレージ容量。PVC と PV のマッチングにのみ使用され、実際に使用可能な容量を制限するものではありません。はい5

PV と PVC の確認

PVC を作成した後、それが PV にバインドされていることを確認します。ACK クラスター内の任意のノードに接続し、以下を実行します。

kubectl get pvc pvc-nas

出力は、PVC が Bound 状態であることを示します。

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

ステータスが Pending の場合は、PVC 内の PV 名が完全に一致していること、およびアクセスモードに互換性があることを確認してください。

ステップ 4:PVC へのデータ入力

ACK クラスターは PVC を介して共有データにアクセスするため、トレーニングデータをステップ 1 で作成した NAS ファイルシステムに直接アップロードします。

  1. ACK クラスターの任意の ECS ノードに接続するには、ワークベンチを使用します。 その他の接続メソッドについては、「ECS インスタンスへの接続メソッドの概要」をご参照ください。

  2. NFS ファイルシステムは (ステップ 2 から) /mnt にマウントされています。トレーニングデータセットを保存するために 2 つのディレクトリを作成します。

    cd /mnt/
    mkdir tf_data/
    mkdir pytorch_data/
  3. TensorFlow MNIST データセットをダウンロードします。

    cd tf_data
    git clone https://code.aliyun.com/xiaozhou/tensorflow-sample-code.git
    mv tensorflow-sample-code/data/* ./ && rm -rf tensorflow-sample-code
  4. PyTorch MNIST データセットをダウンロードします。

    cd pytorch_data
    git clone https://code.aliyun.com/370272561/mnist-pytorch.git
    mv mnist-pytorch/MNIST ./ && rm -rf mnist-pytorch

これで、tf_data/ ディレクトリには TensorFlow の MNIST トレーニングデータが、pytorch_data/ ディレクトリには PyTorch の MNIST データが含まれます。どちらのディレクトリも、pvc-nas 要求をマウントするすべての Pod からアクセス可能です。

次のステップ

  • --data パラメーターを使用して pvc-nas をマウントする Arena トレーニングジョブを送信します。

  • 追加のユーザーを管理するには、同じ NAS ファイルシステムの異なるサブディレクトリを指す個別の PVC を作成します。例えば、ユーザー A とユーザー B の PVC は同じ NAS ファイルシステムを指すことができますが、それぞれの作業環境を分離するために、異なるサブディレクトリを参照する必要があります。

  • 本番ワークロード向けの NAS のパフォーマンスを向上させ、O&M を自動化するために、CNFS の有効化を検討してください。