Topik ini menjelaskan cara memasang secara statis sistem file CPFS for Lingjun di Alibaba Cloud Container Service (ACS) dan memverifikasi fitur penyimpanan bersama serta persisten dari CPFS.
Informasi latar belakang
Kemampuan penyimpanan kluster Alibaba Cloud Container Service (ACS) didasarkan pada plug-in Container Storage Interface (CSI) Kubernetes. Kemampuan ini terintegrasi dengan layanan penyimpanan seperti disk, NAS, dan OSS, serta kompatibel dengan volume Kubernetes asli seperti EmptyDir dan ConfigMaps. Untuk skenario komputasi cerdas, seperti konten yang dihasilkan AI (AIGC) dan mengemudi otonom, kami merekomendasikan penggunaan CPFS for Lingjun sebagai volume persisten.
CPFS for Lingjun adalah sistem penyimpanan yang ditingkatkan oleh Alibaba Cloud, dirancang khusus untuk layanan AI. Sistem ini menggunakan arsitektur penyimpanan paralel terdistribusi yang inovatif, protokol jaringan RoCE RDMA berperforma tinggi yang dikembangkan sendiri, teknologi saluran penyimpanan virtual, serta klien cache multi-level elastis. Hal ini memungkinkannya menyediakan penyimpanan dengan throughput tinggi, latensi rendah, dan performa tinggi tanpa server.
Prasyarat
Sistem file CPFS for Lingjun telah dibuat. Untuk informasi lebih lanjut, lihat Buat sistem file.
(Opsional) Titik pemasangan VPC telah dibuat.
CatatanUntuk memasang sistem file CPFS for Lingjun ke pod CPU, Anda harus membuat titik pemasangan VPC.
Untuk memasang sistem file CPFS for Lingjun ke pod GPU, Anda tidak perlu membuat titik pemasangan VPC.
Komponen managed-csiprovisioner telah diinstal di kluster ACS.
CatatanPergi ke halaman manajemen kluster ACS di Konsol ACS. Di panel navigasi kiri halaman manajemen kluster, pilih . Pada tab Storage, Anda dapat memeriksa apakah managed-csiprovisioner telah diinstal.
Catatan
CPFS adalah sistem file bersama. Volume CPFS dapat dipasang ke beberapa pod.
CPFS for Lingjun dapat dipasang ke pod CPU apa pun di kluster ACS, tetapi hanya dapat dipasang ke pod ACS yang memiliki model GPU tertentu. Untuk informasi lebih lanjut, ajukan tiket.
Saat memasang sistem file CPFS for Lingjun ke pod yang menggunakan GPU LINGJUN, pastikan zona (AZ) dan nomor kluster sistem file CPFS for Lingjun sesuai dengan zona dan nomor kluster GPU LINGJUN.
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 jenis komputasi pod tempat Anda ingin memasang volume.
Pasang ke pod GPU
PentingCPFS for Lingjun hanya dapat dipasang ke pod dengan model GPU tertentu. Untuk informasi lebih lanjut, ajukan tiket.
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
Deskripsi
labelsTetapkan label agar PVC dapat menggunakan
selectoruntuk mencocokkan dan mengikat ke PV.accessModesMode akses PV.
capacity.storageNyatakan ukuran volume.
csi.driverJenis driver. Atur ke
povplugin.csi.alibabacloud.com.csi.volumeAttributesAtribut 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 tidak ada, sistem akan otomatis membuatnya.
csi.volumeHandleID sistem file CPFS for Lingjun.
Parameter PVC
Parameter
Deskripsi
accessModesMode akses yang diminta oleh PVC dari PV.
selectorGunakan label pada PV untuk mencocokkan dan mengikat.
resources.requests.storageKapasitas penyimpanan yang dialokasikan ke pod. Tidak boleh melebihi kapasitas PV.
Pasang 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
Deskripsi
labelsTetapkan label agar PVC dapat menggunakan
selectoruntuk mencocokkan dan mengikat ke PV.accessModesMode akses.
capacity.storageNyatakan ukuran volume.
csi.driverJenis driver. Atur ke
povplugin.csi.alibabacloud.com.csi.volumeAttributesAtribut volume CPFS.
mountProtocol: Protokol pemasangan. Atur keefc.server: Nama domain titik pemasangan VPC 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
Deskripsi
accessModesMode akses yang diminta oleh PVC dari PV.
selectorGunakan label pada PV untuk mencocokkan dan mengikat.
resources.requests.storageKapasitas penyimpanan yang dialokasikan ke pod. Tidak boleh melebihi kapasitas PV.
Buat PersistentVolume (PV) dan PersistentVolumeClaim (PVC).
kubectl create -f cpfs-pv-pvc.yamlKonfirmasi bahwa PVC terikat ke PV.
kubectl get pvc cpfs-testContoh keluaran:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE cpfs-test Bound cpfs-test 10Ti RWX <unset> <unset> 10s
Konsol
Masuk ke Konsol ACS.
Di halaman Clusters, klik nama kluster untuk masuk ke halaman manajemen kluster.
Di panel navigasi kiri halaman manajemen kluster, pilih .
Di halaman Persistent Volume Claims, klik Create.
Di kotak dialog, konfigurasikan parameter dan klik Create.
Parameter berikut digunakan untuk membuat PVC dan PV secara bersamaan. Anda juga dapat membuat PVC setelah membuat PV.
CatatanSaat menggunakan konsol, Anda tidak dapat memasang sistem file CPFS for Lingjun ke aplikasi CPU menggunakan titik pemasangan VPC.
Parameter
Deskripsi
Contoh
PVC Type
Pilih CPFS.
CPFS
Name
Masukkan nama kustom untuk PVC. Nama tersebut harus mengikuti persyaratan format yang ditampilkan di konsol.
cpfs-test
Allocation Mode
Pilih Existing Volumes 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
Konfigurasikan ID sistem file CPFS for Lingjun yang ingin Anda pasang.
bmcpfs-0115******13q5
Lihat PVC dan PV.
Di halaman Persistent Volume Claims dan Persistent Volumes, lihat PVC dan PV baru yang dibuat dan konfirmasikan bahwa mereka terikat.
Langkah 2: Buat aplikasi dan pasang volume CPFS
kubectl
Buat file bernama cpfs-test.yaml menggunakan konten YAML berikut.
Aplikasi dengan akselerasi GPU
Contoh YAML berikut membuat Deployment yang terdiri dari dua pod. Kedua pod 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 spesifik, lihat Tentukan model GPU dan versi driver untuk pod GPU-accelerated ACS.
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 dengan akselerasi CPU
Contoh YAML berikut membuat Deployment yang terdiri dari dua pod. Deployment 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-testKeluaran 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 di direktori pemasangan sistem file CPFS for LINGJUN. Secara default, direktori tersebut kosong.
kubectl exec cpfs-test-****-***a -- ls /data
Konsol
Di panel navigasi kiri halaman manajemen kluster, pilih .
Di halaman Deployments, klik Create from Image.
Konfigurasikan parameter Deployment dan klik Create.
Catat parameter berikut. Pertahankan pengaturan default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat aplikasi tanpa status menggunakan Deployment.
Aplikasi dengan akselerasi GPU
Halaman konfigurasi
Parameter
Deskripsi
Contoh
Basic Information
Name
Nama Deployment. Masukkan nama kustom. Nama tersebut 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 spesifik, lihat Tentukan model GPU dan versi driver untuk pod GPU-accelerated ACS.
GPU, T4
Container
Image Name
Masukkan alamat citra yang digunakan untuk menerapkan aplikasi.
registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
Required Resources
Tetapkan sumber daya GPU, vCPU, dan memori yang diperlukan.
GPU: 1
CPU: 2 vCPUs
Memori: 2 GiB
Volume
Klik Add PVC, lalu konfigurasikan parameter.
Mount Source: Pilih PVC yang Anda buat sebelumnya.
Container Path: Masukkan jalur kontainer tempat sistem file CPFS akan dipasang.
Sumber pemasangan: pvc-cpfs
Jalur kontainer: /data
Aplikasi dengan akselerasi CPU
Halaman Konfigurasi
Parameter
Deskripsi
Contoh
Basic Information
Application Name
Nama Deployment. Masukkan nama kustom. Nama tersebut 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 menerapkan aplikasi.
registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
Required Resources
Tetapkan sumber daya vCPU dan memori yang diperlukan.
CPU: 0.25 vCPUs
Memori: 0.5 GiB
Volume
Klik Add PVC, lalu konfigurasikan parameter.
Mount Source: Pilih PVC yang Anda buat sebelumnya.
Container Path: Masukkan jalur kontainer tempat sistem file CPFS akan dipasang.
Sumber pemasangan: pvc-cpfs
Jalur kontainer: /data
Lihat status penyebaran aplikasi.
Di halaman Deployments, klik nama aplikasi.
Di tab Pods, konfirmasikan bahwa pod berjalan normal (statusnya Berjalan).
Verifikasi penyimpanan bersama dan persisten
Deployment yang dibuat sesuai dengan contoh di atas berisi dua pod, keduanya memasang sistem file CPFS yang sama. Anda dapat memverifikasinya dengan cara berikut:
Buat file di 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 baru untuk memverifikasi penyimpanan persisten.
Lihat informasi pod.
kubectl get pod | grep cpfs-testKeluaran yang diharapkan:
cpfs-test-****-***a 1/1 Running 0 45s cpfs-test-****-***b 1/1 Running 0 45sVerifikasi penyimpanan bersama.
Buat file di satu pod.
Menggunakan pod bernama
cpfs-test-****-***asebagai contoh:kubectl exec cpfs-test-****-***a -- touch /data/test.txtLihat file di pod lain.
Menggunakan pod bernama
cpfs-test-****-***bsebagai contoh:kubectl exec cpfs-test-****-***b -- ls /dataKeluaran yang diharapkan adalah sebagai berikut, menunjukkan bahwa file baru
test.txtdibagikan: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-testKeluaran 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 /dataKeluaran yang diharapkan adalah sebagai berikut, menunjukkan bahwa data dalam sistem file CPFS masih ada dan dapat diambil dari direktori pemasangan pod baru:
test.txt