Topik ini menjelaskan cara memasang sistem file CPFS for Lingjun secara statis di Container Compute Service (ACS) serta memverifikasi fitur penyimpanan bersama dan penyimpanan persisten dari CPFS.
Informasi latar belakang
Fitur penyimpanan Container Compute Service (ACS) didasarkan pada Kubernetes Container Storage Interface (CSI), yang terintegrasi dengan layanan penyimpanan Alibaba Cloud seperti cloud disk, NAS, dan OSS. Fitur ini juga kompatibel dengan volume Kubernetes asli seperti EmptyDir dan ConfigMap. Untuk skenario komputasi cerdas—seperti AI-generated content (AIGC) dan kendaraan otonom—CPFS for Lingjun dapat digunakan sebagai persistent volumes (PVs).
CPFS for Lingjun adalah sistem penyimpanan yang ditingkatkan dari Alibaba Cloud, dirancang khusus untuk layanan AI. Sistem ini menggunakan arsitektur penyimpanan paralel terdistribusi yang inovatif, protokol jaringan RoCE RDMA berkinerja tinggi yang dikembangkan sendiri, teknologi virtual storage channel, serta klien elastis dengan cache bertingkat, sehingga mampu menyediakan throughput tinggi, latensi rendah, dan penyimpanan berkinerja tinggi tanpa server.
Prasyarat
Anda telah membuat sistem file CPFS for Lingjun. Untuk informasi selengkapnya, lihat Create a file system.
(Opsional) Anda telah membuat a VPC mount target.
Untuk mengakses sistem file melalui jaringan VPC (standard mount) , Anda harus membuat VPC mount target.
Untuk mengakses sistem file melalui jaringan RDMA (high-performance accelerated mount) , Anda tidak perlu membuat VPC mount target.
Komponen managed-csiprovisioner telah diinstal di kluster ACS.
CatatanBuka halaman manajemen kluster ACS di Konsol ACS. Di panel navigasi sebelah kiri halaman manajemen kluster, pilih . Pada tab Storage, Anda dapat memeriksa apakah managed-csiprovisioner telah diinstal.
Catatan
CPFS adalah layanan penyimpanan bersama. Volume CPFS dapat dipasang pada beberapa pod.
CPFS for Lingjun menyediakan dua metode akses jaringan. Pilih metode yang sesuai dengan tipe pod Anda:
Jaringan VPC (general-purpose) : Metode ini menawarkan kompatibilitas tinggi dan mendukung pemasangan pada pod CPU atau GPU apa pun di kluster ACS.
Jaringan RDMA (high-performance) : Metode ini memberikan throughput penyimpanan maksimum dan latensi rendah. Metode ini hanya mendukung pemasangan pada pod ACS dengan model GPU tertentu. Untuk daftar model GPU yang mendukung protokol RDMA, lihat Supported GPU card types for ACS.
Saat memasang sistem file CPFS for Lingjun pada pod yang menggunakan GPU Lingjun, pastikan zona dan nomor kluster sistem file CPFS for Lingjun sesuai dengan GPU Lingjun tersebut.
Memasang volume CPFS yang disediakan secara statis
Langkah 1: Buat PV dan PVC
kubectl
Simpan konten YAML berikut sebagai cpfs-pv-pvc.yaml.
Pilih YAML yang sesuai berdasarkan tipe komputasi pod tempat Anda ingin memasang volume tersebut.
Mount ke pod GPU
PentingCPFS for Lingjun hanya dapat dipasang pada pod dengan model GPU tertentu. Untuk informasi selengkapnya, submit a ticket.
apiVersion: v1 kind: PersistentVolume metadata: name: cpfs-test labels: alicloud-pvname: cpfs-test spec: accessModes: - ReadWriteMany capacity: storage: 10Ti csi: driver: povplugin.csi.alibabacloud.com volumeAttributes: filesystemId: bmcpfs-***** path: / volumeHandle: bmcpfs-***** --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cpfs-test spec: accessModes: - ReadWriteMany selector: matchLabels: alicloud-pvname: cpfs-test resources: requests: storage: 10TiParameter PV
Parameter
Description
labelsTetapkan label agar persistent volume claim (PVC) dapat menggunakan
selectoruntuk mencocokkan dan mengikat PV.accessModesMode akses PV.
capacity.storageKapasitas penyimpanan volume.
csi.driverJenis driver. Tetapkan ke
povplugin.csi.alibabacloud.com.csi.volumeAttributesProperti volume CPFS.
filesystemId: ID sistem file CPFS for Lingjun.path: Nilai default adalah/, yang menunjukkan bahwa direktori root sistem file CPFS dipasang. Anda juga dapat mengaturnya ke subdirektori, seperti/dir. Jika subdirektori tersebut tidak ada, maka akan dibuat otomatis saat volume dipasang.
csi.volumeHandleID sistem file CPFS for Lingjun.
Parameter PVC
Parameter
Description
accessModesMode akses yang diminta PVC dari PV.
selectorGunakan label pada PV untuk mencocokkan dan mengikat.
resources.requests.storageKapasitas penyimpanan yang dialokasikan ke pod. Nilai ini tidak boleh lebih besar dari kapasitas PV.
Mount ke pod CPU
apiVersion: v1 kind: PersistentVolume metadata: name: cpfs-test labels: alicloud-pvname: cpfs-test spec: accessModes: - ReadWriteMany capacity: storage: 10Ti csi: driver: nasplugin.csi.alibabacloud.com volumeAttributes: mountProtocol: efc server: cpfs-***-vpc-***.cn-wulanchabu.cpfs.aliyuncs.com path: / volumeHandle: bmcpfs-***** --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cpfs-test spec: accessModes: - ReadWriteMany selector: matchLabels: alicloud-pvname: cpfs-test resources: requests: storage: 10TiParameter PV
Parameter
Description
labelsTetapkan label agar PVC dapat menggunakan
selectoruntuk mencocokkan dan mengikat PV.accessModesMode akses.
capacity.storageKapasitas penyimpanan volume.
csi.driverJenis driver. Tetapkan ke
povplugin.csi.alibabacloud.com.csi.volumeAttributesProperti volume CPFS.
mountProtocol: Protokol pemasangan. Tetapkan keefc.server: Nama domain VPC mount target untuk sistem file CPFS.path: Nilai default adalah/, yang menunjukkan bahwa direktori root sistem file CPFS dipasang. Anda juga dapat mengaturnya ke subdirektori, seperti/dir.
csi.volumeHandleID sistem file CPFS for Lingjun.
Parameter PVC
Parameter
Description
accessModesMode akses yang diminta PVC dari PV.
selectorGunakan label pada PV untuk mencocokkan dan mengikat.
resources.requests.storageKapasitas penyimpanan yang dialokasikan ke pod. Nilai ini tidak boleh lebih besar dari kapasitas PV.
Buat PV dan PVC.
kubectl create -f cpfs-pv-pvc.yamlKonfirmasi bahwa PVC telah terikat ke PV.
kubectl get pvc cpfs-testContoh output:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE cpfs-test Bound cpfs-test 10Ti RWX <unset> <unset> 10s
Console
Masuk ke Konsol ACS.
Pada halaman Clusters, klik nama kluster untuk membuka halaman manajemen kluster.
Di panel navigasi sebelah kiri halaman manajemen kluster, pilih .
Pada halaman Persistent Volume Claims, klik Create.
Pada kotak dialog, konfigurasikan parameter dan klik Create.
Tabel berikut menjelaskan parameter untuk membuat PVC dan PV sekaligus. Anda juga dapat membuat PV terlebih dahulu, lalu membuat PVC.
CatatanAnda tidak dapat memasang sistem file CPFS for Lingjun pada aplikasi CPU menggunakan VPC mount target melalui konsol.
Parameter
Description
Example
PVC Type
Pilih CPFS.
CPFS
Name
Masukkan nama untuk PVC. Nama harus memenuhi persyaratan format yang ditampilkan di antarmuka.
cpfs-test
Allocation Mode
Pilih Existing Volume atau Create Volume sesuai kebutuhan.
Create Volume
CPFS Type
Pilih CPFS for Lingjun.
CPFS for Lingjun
Access Mode
Opsi yang tersedia adalah ReadWriteMany dan ReadWriteOnce.
ReadWriteMany
File System ID
ID sistem file CPFS for Lingjun yang ingin Anda pasang.
bmcpfs-0115******13q5
Lihat PVC dan PV yang telah dibuat.
Pada halaman Persistent Volume Claims dan Persistent Volumes, Anda dapat melihat PVC dan PV baru yang telah dibuat dan memastikan bahwa keduanya telah terikat.
Langkah 2: Buat aplikasi dan pasang volume CPFS
kubectl
Buat file bernama cpfs-test.yaml menggunakan konten YAML berikut.
Aplikasi berakselerasi GPU
Contoh YAML berikut membuat Deployment yang terdiri dari dua pod. Kedua pod tersebut menyatakan bahwa mereka ingin menggunakan daya komputasi GPU melalui label
alibabacloud.com/compute-class: gpu, dan meminta sumber daya penyimpanan melalui PVC bernamacpfs-test. Jalur pemasangan untuk keduanya adalah/data.CatatanUntuk informasi tentang model GPU tertentu, lihat Specify GPU models and driver versions for ACS GPU-accelerated pods.
apiVersion: apps/v1 kind: Deployment metadata: name: cpfs-test labels: app: cpfs-test spec: replicas: 2 selector: matchLabels: app: cpfs-test template: metadata: labels: app: cpfs-test # Set the compute class to GPU alibabacloud.com/compute-class: gpu # Specify the GPU model, fill in as needed, such as T4 alibabacloud.com/gpu-model-series: T4 alibabacloud.com/compute-qos: default spec: containers: - name: nginx image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest ports: - containerPort: 80 volumeMounts: - name: pvc-cpfs mountPath: /data volumes: - name: pvc-cpfs persistentVolumeClaim: claimName: cpfs-testAplikasi berakselerasi CPU
Contoh YAML berikut membuat Deployment yang terdiri dari dua pod. Aplikasi ini meminta sumber daya penyimpanan melalui PVC bernama
cpfs-test. Jalur pemasangan untuk keduanya adalah/data.apiVersion: apps/v1 kind: Deployment metadata: name: cpfs-test labels: app: cpfs-test spec: replicas: 2 selector: matchLabels: app: cpfs-test template: metadata: labels: app: cpfs-test spec: containers: - name: nginx image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest ports: - containerPort: 80 volumeMounts: - name: pvc-cpfs mountPath: /data volumes: - name: pvc-cpfs persistentVolumeClaim: claimName: cpfs-testBuat Deployment dan pasang volume CPFS.
kubectl create -f cpfs-test.yamlLihat status penyebaran pod dalam Deployment.
kubectl get pod | grep cpfs-testOutput yang diharapkan menunjukkan bahwa dua pod telah dibuat:
cpfs-test-****-***a 1/1 Running 0 45s cpfs-test-****-***b 1/1 Running 0 45sLihat jalur pemasangan.
Perintah contoh di bawah ini diharapkan mengembalikan data dalam direktori yang dipasang dari sistem file CPFS for LINGJUN. Secara default, direktori tersebut kosong.
kubectl exec cpfs-test-****-***a -- ls /data
Console
Di panel navigasi sebelah kiri halaman manajemen kluster, pilih .
Pada halaman Deployments, klik Create from Image.
Konfigurasikan parameter Deployment dan klik Create.
Perhatikan parameter berikut. Gunakan pengaturan default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Create a stateless application using a Deployment.
Aplikasi berakselerasi GPU
Configuration page
Parameter
Description
Example
Basic Information
Name:
Nama Deployment. Masukkan nama kustom. Nama harus mengikuti persyaratan format yang ditampilkan di antarmuka.
cpfs-test
Replicas:
Konfigurasikan jumlah replika untuk Deployment.
2
Type
Pilih tipe komputasi untuk pod.
CatatanUntuk informasi tentang model GPU tertentu, lihat Specify GPU models and driver versions for ACS GPU-accelerated pods.
GPU, T4
Container
Image Name:
Masukkan alamat citra yang digunakan untuk menyebar aplikasi.
registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
Required Resources
Tetapkan sumber daya GPU, vCPU, dan memori yang dibutuhkan.
GPU: 1
CPU: 2 vCPUs
Memory: 2 GiB
Volume:
Klik Add PVC, lalu konfigurasikan parameter.
Mount Source: Pilih PVC yang telah Anda buat sebelumnya.
Container Path: Masukkan jalur kontainer tempat sistem file CPFS akan dipasang.
Mount source: pvc-cpfs
Container path: /data
Aplikasi berakselerasi CPU
Configuration page
Parameter
Description
Example
Basic Information
Application Name
Nama Deployment. Masukkan nama kustom. Nama harus mengikuti persyaratan format yang ditampilkan di antarmuka.
cpfs-test
Replicas
Konfigurasikan jumlah replika untuk Deployment.
2
Type
Pilih tipe komputasi untuk pod.
CPU, general-purpose
Container
Image Name
Masukkan alamat citra yang digunakan untuk menyebar aplikasi.
registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
Required Resources
Tetapkan sumber daya vCPU dan memori yang dibutuhkan.
CPU: 0.25 vCPUs
Memory: 0.5 GiB
Volume
Klik Add PVC, lalu konfigurasikan parameter.
Mount Source: Pilih PVC yang telah Anda buat sebelumnya.
Container Path: Masukkan jalur kontainer tempat sistem file CPFS akan dipasang.
Mount source: pvc-cpfs
Container path: /data
Lihat status penyebaran aplikasi.
Pada halaman Deployments, klik nama aplikasi.
Pada tab Pods, pastikan pod berjalan normal (statusnya Running).
Verifikasi penyimpanan bersama dan penyimpanan persisten
Deployment yang dibuat sesuai contoh di atas berisi dua pod yang sama-sama memasang sistem file CPFS. Anda dapat memverifikasinya dengan cara berikut:
Buat file di salah satu pod, lalu lihat file tersebut di pod lain untuk memverifikasi penyimpanan bersama.
Buat ulang Deployment, lalu periksa apakah data dalam sistem file masih ada di pod yang baru dibuat untuk memverifikasi penyimpanan persisten.
Lihat informasi pod.
kubectl get pod | grep cpfs-testOutput yang diharapkan:
cpfs-test-****-***a 1/1 Running 0 45s cpfs-test-****-***b 1/1 Running 0 45sVerifikasi penyimpanan bersama.
Buat file di salah satu pod.
Menggunakan pod bernama
cpfs-test-****-***asebagai contoh:kubectl exec cpfs-test-****-***a -- touch /data/test.txtLihat file tersebut di pod lain.
Menggunakan pod bernama
cpfs-test-****-***bsebagai contoh:kubectl exec cpfs-test-****-***b -- ls /dataOutput yang diharapkan adalah sebagai berikut, menunjukkan bahwa file yang baru dibuat
test.txtbersifat bersama:test.txt
Verifikasi penyimpanan persisten.
Buat ulang Deployment.
kubectl rollout restart deploy cpfs-testLihat pod dan tunggu hingga pod baru berhasil dibuat.
kubectl get pod | grep cpfs-testOutput yang diharapkan:
cpfs-test-****-***c 1/1 Running 0 78s cpfs-test-****-***d 1/1 Running 0 52sPeriksa apakah data dalam sistem file masih ada di pod baru.
Menggunakan pod bernama
cpfs-test-c***sebagai contoh:kubectl exec cpfs-test-****-***c -- ls /dataOutput yang diharapkan adalah sebagai berikut, menunjukkan bahwa data dalam sistem file CPFS masih ada dan dapat diambil dari direktori pemasangan pod baru:
test.txt