Siapkan sistem file NAS sebagai PV dan PVC bersama di kluster ACK Anda untuk menyimpan data pelatihan Arena.
Sebelum memulai
Pastikan Anda telah memiliki:
-
Kluster ACK yang sedang berjalan
-
Izin untuk membuat sistem file NAS dan mengelola resource penyimpanan ACK
-
Instance Elastic Compute Service (ECS) di Virtual Private Cloud (VPC) yang sama dengan kluster ACK Anda, untuk memasang dan mengisi sistem file NAS
Catatan penggunaan
Perhatikan batasan berikut:
-
Diperlukan co-lokasi VPC. Sistem file NAS, titik pemasangannya, dan kluster ACK Anda harus berada dalam VPC yang sama.
-
Jenis protokol memengaruhi kinerja penulisan multipel. NFSv3 memberikan kinerja lebih baik ketika beberapa instance ECS tidak menulis ke file yang sama secara bersamaan. NAS Ekstrem hanya mendukung NFSv3.
-
Kapasitas PV hanya digunakan untuk pencocokan. Nilai kapasitas tidak membatasi penyimpanan aktual. Batas aktual bergantung pada spesifikasi sistem file NAS.
-
PV statis tidak mendukung archiveOnDelete. Menetapkan Delete pada PV statis tidak benar-benar menghapus PV atau data NAS. Gunakan Retain (default) kecuali jika menggunakan volume NAS yang disediakan secara dinamis.
Informasi latar belakang
Mengonfigurasi volume penyimpanan bersama untuk lingkungan pekerjaan Arena menjaga kode dan data ilmuwan data agar tidak hilang saat kontainer dihapus, serta memudahkan akses terhadap data pelatihan bersama. Dalam pengembangan tim, mengalokasikan pool penyimpanan bersama memungkinkan data dan kode dibagikan di seluruh tim.
Saat mengirimkan pekerjaan Arena, Anda dapat menggunakan parameter --data untuk mendeklarasikan penyimpanan bersama dan jalur pemasangan. Penyimpanan bersama tersebut dipasang pada direktori yang ditentukan, sehingga pekerjaan berikutnya dapat menggunakan kembali data atau kode ini.
Di Kubernetes, objek penyimpanan dijelaskan oleh Persistent Volume (PV) dan Persistent Volume Claim (PVC). Sebagai administrator kluster, saat menyiapkan lingkungan, buat PVC terpisah untuk setiap ilmuwan data. Misalnya, PVC untuk pengguna A dan pengguna B dapat memasang backend NAS atau CPFS yang sama, tetapi harus mengarah ke subdirektori berbeda agar lingkungan kerja mereka tetap terisolasi.
Langkah 1: Buat instance NAS
Buat sistem file NAS tujuan umum di wilayah dan VPC yang sama dengan kluster ACK Anda.
Lihat Buat sistem file NAS tujuan umum menggunakan konsol.
Gunakan nilai berikut:
| Parameter | Nilai yang diperlukan |
|---|---|
| File system type | NAS tujuan umum |
| Region | Wilayah yang sama dengan kluster ACK Anda |
| VPC | VPC yang sama dengan kluster ACK Anda |
| Protocol type | NFS |
Langkah 2: Pasang sistem file ke instance ECS
Pasang sistem file NAS ke instance ECS untuk kemudian diisi dengan data pelatihan. Langkah ini menggunakan fitur pemasangan satu klik. Lihat Skenario pemasangan sistem file untuk metode lainnya.
Pasang sistem file NAS
-
Masuk ke Konsol NAS. Di panel navigasi kiri, pilih File System > File System List.
-
Di bilah navigasi atas, pilih kelompok sumber daya dan wilayah sistem file Anda.

-
Temukan sistem file Anda dan klik Mount di kolom Tindakan.
Saat pertama kali digunakan, NAS akan meminta Anda menetapkan peran terkait layanan AliyunServiceRoleForNasEcsHandler. Ikuti petunjuk di layar. Lihat Peran terkait layanan NAS.
-
Di panel Mount, atur opsi pemasangan:
-
Pilih titik pemasangan dan klik Next.
-
Pilih instance ECS di VPC yang sama dengan sistem file dan klik Next. Jika instance tidak muncul dalam daftar, refresh halaman. > Note: Lihat Pasang sistem file NFS ke beberapa instance ECS sekaligus untuk pemasangan batch.
-
Konfigurasi parameter pemasangan:
Parameter Deskripsi Wajib Default Mount path Direktori lokal pada instance ECS untuk titik pemasangan. Ya — Automatic mount Memasang ulang sistem file secara otomatis saat instance ECS direstart. Tidak Diaktifkan Protocol type Versi protokol NFS. NAS tujuan umum mendukung NFSv3 dan NFSv4; NAS Ekstrem hanya mendukung NFSv3. NFSv3 memberikan kinerja lebih baik ketika beberapa instance tidak menulis ke file yang sama secara bersamaan. Ya — NAS directory Direktori NAS yang akan dipasang. Masukkan /untuk root atau subdirektori seperti/abc. Untuk direktori yang belum ada, pilih Confirm New Directory dan atur UID, GID, serta izin POSIX.Tidak /(root)Mount parameters Flag pemasangan NFS. Lihat Pasang sistem file NFS pada instance ECS Linux untuk referensi lengkap. Tidak Parameter pemasangan default
-
-
Klik Complete. Proses pemasangan memerlukan waktu 1–2 menit. Saat status menunjukkan Mounted, sistem file siap digunakan. Jika status Failed, lihat Pasang sistem file NFS pada instance ECS Linux untuk troubleshooting.

Verifikasi pemasangan
Hubungkan ke instance ECS dan jalankan perintah berikut untuk memverifikasi akses:
mkdir /mnt/dir1
mkdir /mnt/dir2
touch /mnt/file1
echo 'some file content' > /mnt/file2
ls /mnt
Output akan menampilkan dir1, dir2, file1, dan file2:
Untuk melihat detail pemasangan atau memeriksa kapasitas, jalankan mount -l atau df -h.
Setiap sistem file NAS memerlukan titik pemasangan. Lihat Kelola titik pemasangan untuk menambahkan atau mencari titik pemasangan. Atur Mount target type ke VPC dan pilih VPC serta vSwitch yang sama dengan kluster ACK Anda.
Langkah 3: Buat PV dan PVC
Daftarkan sistem file NAS sebagai PV di kluster ACK Anda, lalu buat PVC untuk akses pod.
Buat PV
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.Konsol NAS
-
Di halaman Clusters, klik kluster target. Di panel navigasi kiri, pilih Volumes > Persistent Volumes.
-
Di halaman Persistent Volumes, klik Create. Atur parameter berikut dan klik OK.
Parameter Deskripsi Wajib Default Contoh PV type Pilih NAS. Ya — NAS Name Nama PV. Harus unik dalam kluster. Ya — pv-nasCapacity Hanya digunakan untuk pencocokan PVC. Tidak membatasi penyimpanan aktual. Lihat Sistem file NAS tujuan umum dan Sistem file NAS Ekstrem untuk batas kapasitas. Ya — 5 GiAccess mode ReadWriteMany: beberapa node dipasang sebagai baca-tulis. ReadWriteOnce: hanya satu node. Ya — ReadWriteManyEnable CNFS Mengaktifkan Container Network File System (CNFS) untuk O&M otomatis, akselerasi cache, dan pemantauan kinerja. Lihat Buat CNFS untuk mengelola sistem file NAS (Disarankan) untuk mengelola sistem file yang sudah ada. Tidak Dinonaktifkan Dinonaktifkan Mount target domain name Tersedia saat CNFS dinonaktifkan. Alamat titik pemasangan NAS. Pilih titik yang sudah ada atau masukkan domain kustom. Lihat Kelola titik pemasangan untuk mencari alamat. Ya (saat CNFS dinonaktifkan) — 0c47****-mpk25.cn-shenzhen.nas.aliyuncs.coMount path (Advanced) Subdirektori NAS yang akan dipasang. Untuk NAS Ekstrem, harus diawali dengan /share(misalnya,/share/data). Direktori yang belum ada akan dibuat secara otomatis.Tidak /(root)/dataReclaim policy Retain (default): PV dan data NAS dipertahankan saat PVC dihapus; pembersihan manual diperlukan. Delete: memerlukan archiveOnDelete. PV statis tidak mendukungarchiveOnDelete, sehingga PV dan data tetap ada terlepas dari kebijakan yang dipilih. Lihat Gunakan volume NAS yang disediakan secara dinamis untuk konfigurasiarchiveOnDelete.Tidak Retain RetainMount options Versi protokol NFS dan flag pemasangan. NFSv3 memberikan kinerja lebih baik untuk pembacaan pelatihan ML tanpa penulisan bersamaan. Tidak — nolock,tcp,noresvportvers=3Label Label untuk PV. Tidak — pv-nas
PV akan muncul di halaman Persistent Volumes.
Buat PVC
-
Di panel navigasi, pilih Storage > Persistent Volume Claims.
-
Di halaman Persistent Volume Claims, klik Create. Atur parameter berikut dan klik OK.
Parameter Deskripsi Wajib Default Contoh PVC type Pilih NAS. Ya — NAS Name Nama PVC. Harus unik dalam kluster. Ya — pvc-nasAllocation mode Use Existing Persistent Volume: mengikat ke PV di atas. Create Volume: menyediakan PV baru secara inline. Ya — Use Existing Persistent Volume Existing volumes PV yang dibuat di atas. Ya (saat menggunakan PV yang sudah ada) — pv-nasCapacity Kapasitas penyimpanan yang diminta. Hanya digunakan untuk pencocokan PVC ke PV. Ya — 5
Verifikasi PV dan PVC
Konfirmasi bahwa PVC terikat ke PV. Hubungkan ke salah satu node di kluster ACK dan jalankan:
kubectl get pvc pvc-nas
Output menunjukkan PVC dalam status Bound:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-nas Bound pv-nas 5Gi RWX 1m
Jika status Pending, verifikasi bahwa nama PV dan mode akses sesuai.
Langkah 4: Isi PVC dengan data
Kluster Kubernetes mengakses data bersama melalui PVC (yang mengarah ke instance NAS yang dibuat di Langkah 1), sehingga Anda hanya perlu mengisi NAS yang mendasari PVC tersebut. Prosedur berikut membuat dua Kubernetes Job yang menyalin dataset MNIST PyTorch dan TensorFlow dari gambar kontainer contoh ke NAS pada direktori yang ditentukan. Contoh ini menggunakan PVC pvc-nas dari Langkah 3.
-
Buat file bernama
prepare-pytorch-mnist-data.yamldengan konten berikut:apiVersion: batch/v1 kind: Job metadata: name: prepare-pytorch-mnist-data namespace: default spec: completions: 1 parallelism: 1 backoffLimit: 3 ttlSecondsAfterFinished: 3600 template: spec: containers: - name: pytorch-mnist-example image: kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/pytorch-mnist-example:2.5.1-cuda12.4-cudnn9-runtime imagePullPolicy: Always command: - /bin/bash - -c args: - | set -eux mkdir -p /mnt/pytorch_data/MNIST/raw cp -r /data/MNIST/raw/* /mnt/pytorch_data/MNIST/raw || { echo "Copy failed"; exit 1; } echo "MNIST data prepared successfully at /mnt/pytorch_data/MNIST/raw." resources: requests: cpu: 100m memory: 128Mi limits: cpu: 100m memory: 128Mi volumeMounts: - name: training-data mountPath: /mnt volumes: - name: training-data persistentVolumeClaim: claimName: pvc-nas restartPolicy: Never -
Buat Job untuk menyalin dataset MNIST PyTorch ke
/pytorch_datapada NAS:# Create the Job kubectl create -f prepare-pytorch-mnist-data.yaml # Wait for the Job to complete kubectl wait --for=condition=complete --namespace=default --timeout=300s job/prepare-pytorch-mnist-dataSaat Job berhasil selesai, outputnya adalah:
job.batch/prepare-pytorch-mnist-data condition met -
Buat file bernama
prepare-tensorflow-mnist-data.yamldengan konten berikut:apiVersion: batch/v1 kind: Job metadata: name: prepare-tensorflow-mnist-data namespace: default spec: completions: 1 parallelism: 1 backoffLimit: 3 ttlSecondsAfterFinished: 3600 template: spec: containers: - name: tensorflow-mnist-example image: kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/tensorflow-mnist-example:2.15.0-gpu imagePullPolicy: Always command: - /bin/bash - -c args: - | set -eux mkdir -p /mnt/tf_data cp -r /data/mnist.npz /mnt/tf_data/mnist.npz || { echo "Copy failed"; exit 1; } echo "MNIST data prepared successfully at /mnt/tf_data/mnist.npz." resources: requests: cpu: 100m memory: 128Mi limits: cpu: 100m memory: 128Mi volumeMounts: - name: training-data mountPath: /mnt volumes: - name: training-data persistentVolumeClaim: claimName: pvc-nas restartPolicy: Never -
Buat Job untuk menyalin dataset MNIST TensorFlow ke
/tf_datapada NAS:# Create the Job kubectl create -f prepare-tensorflow-mnist-data.yaml # Wait for the Job to complete kubectl wait --for=condition=complete --namespace=default --timeout=300s job/prepare-tensorflow-mnist-dataSaat Job berhasil selesai, outputnya adalah:
job.batch/prepare-tensorflow-mnist-data condition met
Contoh ini menggunakan PVC bernamapvc-nasdi namespacedefault. Jika PVC Anda memiliki nama berbeda atau berada di namespace berbeda, sesuaikan manifes tersebut.
/tf_data berisi data MNIST TensorFlow dan /pytorch_data berisi data MNIST PyTorch. Keduanya dapat diakses oleh pod apa pun yang memasang pvc-nas.
Langkah berikutnya
-
Kirimkan pekerjaan pelatihan Arena dengan
--datauntuk memasangpvc-nas. -
Untuk mengisolasi lingkungan pengguna, buat PVC terpisah yang mengarah ke subdirektori berbeda dari sistem file NAS yang sama.
-
Untuk beban kerja produksi, pertimbangkan mengaktifkan CNFS.