File Storage NAS (NAS) adalah sistem file terdistribusi yang mendukung akses bersama dan skalabilitas elastis dengan keandalan serta performa tinggi. NAS cocok untuk skenario seperti analisis big data, berbagi data, aplikasi web, dan penyimpanan log. Plugin Container Storage Interface (CSI) memungkinkan Anda menggunakan sistem file NAS yang ada untuk membuat volume persisten (PV) dan klaim volume persisten (PVC), serta memasangnya ke beban kerja untuk penyimpanan data persisten dan bersama.
Prasyarat
Plugin CSI telah diinstal di kluster. Untuk informasi lebih lanjut tentang cara peningkatan, lihat Perbarui csi-plugin dan csi-provisioner.
CatatanJika FlexVolume digunakan di kluster Anda, tingkatkan FlexVolume ke CSI karena FlexVolume sudah tidak digunakan lagi. Untuk informasi lebih lanjut, lihat Tingkatkan dari FlexVolume ke CSI. Pilih , dan klik tab Storage untuk memeriksa jenis komponen penyimpanan.
Pastikan bahwa sistem file NAS yang ada memenuhi persyaratan berikut. Jika tidak, buat sistem file atau pasang volume NAS yang diaprovisi secara dinamis.
Tipe protokol adalah NFS.
ACK tidak mendukung pemasangan sistem file NAS yang menggunakan Protokol SMB.
Titik pemasangan dan node kluster termasuk dalam VPC yang sama dan Status titik pemasangan adalah Available. Untuk informasi lebih lanjut tentang cara membuat titik pemasangan, lihat Kelola titik pemasangan.
Ketika Anda memasang sistem file NAS ke beberapa pod, pod tersebut harus diterapkan dalam virtual private cloud (VPC) yang sama. Anda tidak dapat memasang sistem file NAS ke pod di VPC yang berbeda. Dalam VPC yang sama, NAS dapat dipasang lintas zona.
CatatanJika Anda ingin mengenkripsi data dalam volume NAS, konfigurasikan pengaturan enkripsi saat Anda membuat sistem file NAS.
Catatan Penggunaan
NAS adalah layanan penyimpanan bersama. Volume NAS dapat dipasang ke beberapa pod. Jika beberapa pod menulis data pada saat yang sama, aplikasi harus secara independen memastikan konsistensi data.
Untuk informasi lebih lanjut tentang batasan penulisan bersamaan ke NAS, lihat Bagaimana cara mencegah pengecualian yang mungkin terjadi ketika beberapa proses atau klien menulis data secara bersamaan ke file log? dan Bagaimana cara menyelesaikan latensi dalam menulis data ke sistem file NFS?
Jika parameter
securityContext.fsgroupdikonfigurasi dalam templat aplikasi, kubelet melakukan operasichmodatauchownsetelah volume dipasang, yang meningkatkan waktu konsumsi. Untuk informasi lebih lanjut tentang cara mempercepat proses pemasangan ketika parametersecurityContext.fsgroupdikonfigurasi, lihat Waktu tambahan untuk pemasangan volume NAS.Setelah Anda memasang volume NAS, jangan hapus titik pemasangan. Jika tidak, sistem mungkin berhenti merespons.
Pasang volume NAS yang diaprovisi secara statis (kubectl)
Langkah 1: Buat PV
Ubah konten YAML berikut dan simpan sebagai pv-nas.yaml.
apiVersion: v1 kind: PersistentVolume metadata: name: pv-nas labels: alicloud-pvname: pv-nas spec: capacity: storage: 5Gi accessModes: - ReadWriteMany csi: driver: nasplugin.csi.alibabacloud.com volumeHandle: pv-nas # Masukkan nama PV. volumeAttributes: server: "0c47****-mpk25.cn-shenzhen.nas.aliyuncs.com" # Alamat titik pemasangan. VPC tempat titik pemasangan berada harus sama dengan VPC tempat kluster berada. path: "/csi" # Tentukan subdirektori sistem file NAS. mountOptions: - nolock,tcp,noresvport - vers=3Parameter
Deskripsi
nameNama PV.
labelsLabel yang ingin Anda tambahkan ke PV.
storageKapasitas PV.
PentingKapasitas tersedia sebenarnya dari volume NAS tidak dibatasi oleh konfigurasi ini. Kapasitas ditentukan oleh spesifikasi sistem file NAS. Untuk informasi lebih lanjut, lihat NAS tujuan umum dan NAS Ekstrem untuk memastikan kapasitas tersedia tertentu.
accessModesMode akses PV. Nilai default adalah
ReadWriteMany. Anda juga dapat mengatur nilainya menjadiReadWriteOnceatauReadOnlyMany.driverTipe driver volume yang digunakan untuk menyediakan volume. Dalam contoh ini, parameter diatur ke
nasplugin.csi.alibabacloud.com. Ini menunjukkan bahwa plugin CSI yang disediakan oleh Alibaba Cloud digunakan.volumeHandlePengenal unik PV. Masukkan nama PV. Jika beberapa PV digunakan, pengenal setiap PV harus unik.
serverAlamat titik pemasangan. VPC tempat titik pemasangan berada harus sama dengan VPC tempat kluster berada.
Untuk informasi lebih lanjut tentang cara melihat alamat titik pemasangan, lihat Kelola titik pemasangan.
pathSubdirektori sistem file NAS yang ingin Anda pasang.
Jika Anda tidak mengatur parameter ini, direktori root akan dipasang secara default.
Jika subdirektori yang ditentukan tidak ada dalam sistem file NAS, sistem secara otomatis membuat subdirektori tersebut lalu memasangnya.
CatatanDirektori root sistem file NAS tujuan umum adalah
/, dan direktori root sistem file NAS Ekstrem adalah/share. Saat Anda memasang subdirektori sistem file NAS Ekstrem,pathharus dimulai dengan/share, seperti/share/data.mountOptionsOpsi pemasangan untuk sistem file NAS, termasuk versi protokol NFS. Kami sarankan Anda menggunakan NFS v3. Sistem file NAS Ekstrem hanya mendukung NFS v3. Untuk informasi lebih lanjut tentang protokol NFS, lihat Protokol NFS.
Buat PV.
kubectl create -f pv-nas.yamlLihat PV.
kubectl get pvOutput yang diharapkan:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE pv-nas 5Gi RWX Retain Available <unset> 25s
Langkah 2: Buat PVC
Simpan konten YAML berikut ke file bernama pvc-nas.yaml.
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-nas spec: accessModes: - ReadWriteMany resources: requests: storage: 5Gi selector: matchLabels: alicloud-pvname: pv-nasParameter
Deskripsi
nameNama PVC.
accessModesMode akses. Nilai default adalah
ReadWriteMany. Anda juga dapat mengatur nilainya menjadiReadWriteOnceatauReadOnlyMany.storageKapasitas PV.
PentingKapasitas tersedia sebenarnya dari volume NAS tidak dibatasi oleh konfigurasi ini. Kapasitas ditentukan oleh spesifikasi sistem file NAS. Untuk informasi lebih lanjut, lihat NAS tujuan umum dan NAS Ekstrem untuk memastikan kapasitas tersedia tertentu.
matchLabelsLabel yang digunakan untuk memilih PV dan mengikatnya ke PVC.
Buat PVC.
kubectl create -f pvc-nas.yamlLihat PVC.
kubectl get pvcOutput berikut menunjukkan bahwa PVC terikat ke PV.
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE pvc-nas Bound pv-nas 5Gi RWX <unset> 5s
Langkah 3: Buat aplikasi dan pasang volume NAS
Simpan konten YAML berikut sebagai nas.yaml.
apiVersion: apps/v1 kind: Deployment metadata: name: nas-test labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 volumeMounts: - name: pvc-nas mountPath: "/data" volumes: - name: pvc-nas persistentVolumeClaim: claimName: pvc-nasParameter
Deskripsi
mountPathPath kontainer ke mana volume NAS dipasang.
claimNameNama PVC yang dipasang ke aplikasi.
Buat Deployment dan pasang volume NAS.
kubectl create -f nas.yamlPeriksa status pod yang dibuat oleh Deployment.
kubectl get pod -l app=nginxOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE nas-test-****-***a 1/1 Running 0 32s nas-test-****-***b 1/1 Running 0 32s
Pasang volume NAS yang diaprovisi secara statis (konsol)
Langkah 1: Buat volume persisten (PV)
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel kiri, pilih .
Di halaman Persistent Volumes, klik Create.
Di kotak dialog yang muncul, konfigurasikan parameter dan klik Create.
Parameter
Deskripsi
Contoh
PV Type
Pilih NAS.
NAS
Volume Name
Nama volume. Nama tersebut harus unik di dalam kluster.
pv-nas
Capacity
Kapasitas PV.
PentingKapasitas tersedia sebenarnya dari volume NAS tidak dibatasi oleh konfigurasi ini. Kapasitas ditentukan oleh spesifikasi sistem file NAS. Untuk informasi lebih lanjut, lihat NAS tujuan umum dan NAS Ekstrem untuk memastikan kapasitas tersedia tertentu.
5Gi
Access Mode
Anda dapat memilih ReadWriteMany atau ReadWriteOnce.
ReadWriteMany
Enable CNFS
Tentukan apakah akan mengaktifkan Container Network File System (CNFS). Menggunakan CNFS untuk mengelola NAS dapat meningkatkan performa dan kontrol Quality of Service (QoS) dari NAS.
Topik ini menjelaskan cara langsung menggunakan sistem file NAS yang ada untuk membuat volume tanpa mengaktifkan CNFS. Untuk informasi lebih lanjut tentang cara mengonfigurasi sistem file NAS yang ada dengan CNFS, lihat Gunakan CNFS untuk mengelola sistem file NAS (direkomendasikan).
Nonaktif
Mount Target Domain Name
Anda harus mengonfigurasi parameter ini saat CNFS dinonaktifkan.
Anda dapat memilih Select Mount Target atau Custom untuk mengonfigurasi sistem file NAS yang ingin Anda pasang. Untuk informasi lebih lanjut tentang cara melihat alamat titik pemasangan, lihat Kelola titik pemasangan.
0c47****-mpk25.cn-shenzhen.nas.aliyuncs.co
Advanced Options (Optional)
Mount Path
Subdirektori sistem file NAS yang ingin Anda pasang.
Jika Anda tidak mengatur parameter ini, direktori root akan dipasang secara default.
Jika subdirektori yang ditentukan tidak ada dalam sistem file NAS, sistem secara otomatis membuat subdirektori tersebut lalu memasangnya.
CatatanDirektori root sistem file NAS tujuan umum adalah
/, dan direktori root sistem file NAS Ekstrem adalah/share. Saat Anda memasang subdirektori sistem file NAS Ekstrem,pathharus dimulai dengan/share, seperti/share/data./data
Reclaim Policy
Nilai default adalah Retain. Ini menunjukkan bahwa ketika PVC dihapus, PV terkait dan sistem file NAS tetap ada dan hanya dapat dihapus secara manual.
CatatanDelete harus digunakan dengan
archiveOnDelete. Karena PV statis tidak mendukungarchiveOnDelete, ketika Anda memilih Delete di sini, PV dan sistem file NAS sebenarnya tidak dihapus ketika PVC dihapus. Jika Anda ingin mengonfigurasiarchiveOnDelete, gunakan volume NAS yang diaprovisi secara dinamis.Retain
Mount Options
Opsi pemasangan untuk sistem file NAS, termasuk versi protokol NFS. Kami sarankan Anda menggunakan NFS v3. Sistem file NAS Ekstrem hanya mendukung NFS v3. Untuk informasi lebih lanjut tentang protokol NFS, lihat Protokol NFS.
nolock,tcp,noresvport
vers=3
Label
Tambahkan label ke PV.
pv-nas
Setelah Anda membuat PV, Anda dapat melihatnya di halaman Persistent Volumes.
Langkah 2: Buat klaim volume persisten (PVC)
Di panel navigasi kiri halaman detail, pilih .
Di halaman Persistent Volume Claims, klik Create.
Di kotak dialog yang muncul, konfigurasikan parameter dan klik Create.
Parameter
Deskripsi
Contoh
Storage Claim Type
Pilih NAS.
NAS
Name
Nama PVC. Nama tersebut harus unik di dalam kluster.
pvc-nas
Allocation Mode
Pilih Volume yang Ada.
CatatanJika tidak ada PV yang dibuat, Anda dapat mengatur parameter Allocation Mode menjadi Create Volume dan mengonfigurasi parameter yang diperlukan untuk membuat PV.
Pilih Volume yang Ada
Existing Storage Volume
Klik Select Existing Volume, temukan PV yang ingin Anda gunakan, dan klik Select di kolom Tindakan.
pv-nas
Capacity
Kapasitas PV. Kapasitas yang diklaim tidak boleh melebihi kapasitas total PV.
PentingKapasitas tersedia sebenarnya dari volume NAS tidak dibatasi oleh konfigurasi ini. Kapasitas ditentukan oleh spesifikasi sistem file NAS. Untuk informasi lebih lanjut, lihat NAS tujuan umum dan NAS Ekstrem untuk memastikan kapasitas tersedia tertentu.
5
Access Mode
Nilai default adalah ReadWriteMany. Anda juga dapat mengatur nilainya menjadi ReadWriteOnce atau ReadOnlyMany.
ReadWriteMany
Langkah 3: Buat aplikasi dan pasang volume NAS
Di panel navigasi kiri halaman detail kluster, pilih .
Di halaman Stateless, klik Create From Image.
Konfigurasikan parameter aplikasi. Setelah Anda mengonfigurasi parameter, klik Create.
Tabel berikut menjelaskan parameter utama. Gunakan pengaturan default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat aplikasi tanpa status menggunakan Deployment.
Bagian
Parameter
Deskripsi
Contoh
Basic Information
Name
Masukkan nama kustom untuk Deployment. Nama tersebut harus memenuhi persyaratan format yang ditampilkan di konsol.
nas-test
Replicas
Jumlah replika untuk Deployment.
2
Container
Image Name
Alamat citra yang digunakan untuk menerapkan aplikasi.
anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
Required Resources
Sumber daya vCPU dan memori yang dibutuhkan.
0.25 Core, 512 MiB
Volume
Klik Add PVC dan konfigurasikan parameter.
Mount Source: Pilih PVC yang Anda buat.
Container Path: Tentukan path kontainer ke mana Anda ingin memasang sistem file NAS.
Sumber Pemasangan: pvc-nas
Path Kontainer: /data
Lihat status penyebaran aplikasi.
Di halaman Deployments, klik nama aplikasi.
Di tab Pods, periksa apakah pod berada dalam status Running.
Verifikasi fitur penyimpanan bersama dan penyimpanan persisten NAS
Deployment yang dibuat dalam contoh sebelumnya menyediakan dua pod dan memasang sistem file NAS ke pod tersebut. Anda dapat menggunakan metode berikut untuk memverifikasi ini:
Buat file di satu pod dan lihat file tersebut dari pod lain untuk memverifikasi penyimpanan bersama.
Buat ulang Deployment. Lalu, periksa apakah data yang disimpan dalam sistem file ada di pod baru untuk memverifikasi penyimpanan persisten.
Lihat informasi pod.
kubectl get pod | grep nas-testHasil sampel:
nas-test-*****a 1/1 Running 0 40s nas-test-*****b 1/1 Running 0 40sVerifikasi penyimpanan bersama.
Buat file di pod.
Dalam contoh ini, pod
nas-test-*****adigunakan:kubectl exec nas-test-*****a -- touch /data/test.txtLihat file dari pod lain.
Dalam contoh ini, pod
nas-test-*****bdigunakan:kubectl exec nas-test-*****b -- ls /dataOutput yang diharapkan menunjukkan bahwa file baru
test.txtdibagikan.test.txt
Verifikasi penyimpanan persisten.
Buat ulang Deployment.
kubectl rollout restart deploy nas-testTunggu hingga pod diregenerasi.
kubectl get pod | grep nas-testHasil sampel:
nas-test-*****c 1/1 Running 0 67s nas-test-*****d 1/1 Running 0 49sMasuk ke pod yang diregenerasi dan periksa apakah file masih ada dalam sistem file.
Dalam contoh ini, pod
nas-test-*****cdigunakan:kubectl exec nas-test-*****c -- ls /dataOutput berikut menunjukkan bahwa file masih ada di sistem file NAS dan dapat diakses dari direktori pemasangan di pod yang diregenerasi.
test.txt
FAQ
Jika Anda mengalami masalah saat memasang dan menggunakan volume NAS, lihat dokumen berikut untuk pemecahan masalah.
Referensi
CNFS memungkinkan Anda mengelola sistem file NAS secara independen dan meningkatkan performa serta kontrol Quality of Service (QoS) dari sistem file NAS. Untuk informasi lebih lanjut, lihat Gunakan CNFS untuk mengelola sistem file NAS (direkomendasikan).