Penyediaan volume secara dinamis secara otomatis membuat dan memasang disk independen untuk setiap replika aplikasi. Metode ini ideal untuk database, middleware, dan aplikasi lain yang memerlukan I/O tinggi serta latensi rendah, sekaligus menyederhanakan manajemen siklus hidup penyimpanan.
Cara kerja
Proses berikut menjelaskan cara menggunakan volume disk yang disediakan secara dinamis dalam StatefulSet:
Definisikan templat
Anda dapat membuat StorageClass baru atau menggunakan StorageClass default sebagai templat untuk pembuatan disk dinamis. Templat ini menentukan parameter utama, seperti tipe disk, tingkat performa, dan kebijakan pengembalian (reclaim policy).Deklarasikan kebutuhan penyimpanan dalam aplikasi
Definisikan
volumeClaimTemplatesdalam StatefulSet dan referensikan StorageClass tersebut. Hal ini mendeklarasikan spesifikasi untuk klaim volume persisten (PVC) yang akan digunakan oleh pod, seperti kapasitas penyimpanan dan mode akses.Otomatisasi pembuatan dan pemasangan volume
Saat StatefulSet membuat pod, sistem secara otomatis menghasilkan PVC unik untuk pod tersebut berdasarkan templat. Komponen Container Storage Interface (CSI) membuat volume persisten (PV) berdasarkan aturan StorageClass dan mengikat PV tersebut ke PVC. Terakhir, disk dipasang ke pod.
Cakupan
Batasan zona: Kecuali SSD Perusahaan (ESSD) dengan redundansi regional, tipe disk lain tidak dapat dipasang lintas zona. Disk tersebut hanya dapat dipasang ke pod dalam zona yang sama.
Batasan keluarga instans: Beberapa tipe disk hanya dapat disambungkan ke keluarga instans tertentu.
Batasan komponen CSI: Komponen csi-plugin dan csi-provisioner harus diinstal.
Komponen CSI diinstal secara default. Pastikan Anda tidak menguninstall-nya secara manual. Anda dapat melihat status instalasi di halaman Add-ons. Kami menyarankan Anda untuk upgrade komponen CSI ke versi terbaru.
Batasan node virtual: Untuk menggunakan disk pada node virtual, Anda harus memenuhi persyaratan versi kluster dan kube-scheduler tertentu.
Langkah 1: Pilih StorageClass
ACK menyediakan beberapa StorageClass default. StorageClass tidak dapat diubah setelah dibuat. Jika konfigurasi default tidak memenuhi kebutuhan Anda, Anda dapat membuat StorageClass baru. Untuk informasi selengkapnya, lihat Buat StorageClass secara manual.
Gunakan StorageClass default
Pilih salah satu StorageClass default berikut dan referensikan namanya di bidang storageClassName aplikasi Anda.
Nama StorageClass | Tipe disk yang dibuat secara dinamis |
| Secara default, pod dijadwalkan sebelum disk dibuat untuk mencegah kegagalan pemasangan akibat ketidaksesuaian zona ( |
| SSD Perusahaan (ESSD). Tingkat performa default adalah PL1, dan kapasitas disk minimum adalah 20 GiB. Penting ESSD di CloudBox hanya mendukung tingkat performa PL0. Anda harus membuat StorageClass secara manual dan menentukan |
| SSD standar. Kapasitas disk minimum adalah 20 GiB. |
| Disk ultra. Kapasitas disk minimum adalah 20 GiB. |
Jalankan perintah kubectl describe sc <storageclass-name> untuk melihat konfigurasi detail StorageClass.Buat StorageClass secara manual
kubectl
Buat file bernama
disk-sc.yaml.Contoh berikut menunjukkan StorageClass yang menggunakan
volumeBindingMode: WaitForFirstConsumeruntuk menunda pengikatan PV.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: # Nama StorageClass name: alicloud-disk-wait-for-first-consumer # Tipe driver. Nilai ini tetap saat menggunakan plugin CSI disk Alibaba Cloud. provisioner: diskplugin.csi.alibabacloud.com parameters: # Tipe disk. Sistem memilih tipe berdasarkan prioritas. type: cloud_auto,cloud_essd,cloud_ssd # Tipe sistem file fstype: ext4 diskTags: "a:b,b:c" encrypted: "false" # Tingkat performa ESSD performanceLevel: PL1 provisionedIops: "40000" burstingEnabled: "false" # Mode pengikatan. Kami merekomendasikan penggunaan WaitForFirstConsumer dalam skenario multi-zona. volumeBindingMode: WaitForFirstConsumer # Kebijakan pengembalian reclaimPolicy: Retain # Menentukan apakah ekspansi volume diizinkan allowVolumeExpansion: true # Batasan topologi: Membatasi pembuatan disk hanya pada zona tertentu allowedTopologies: - matchLabelExpressions: - key: topology.diskplugin.csi.alibabacloud.com/zone values: # Ganti dengan zona aktual Anda - cn-hangzhou-i - cn-hangzhou-kTabel berikut menjelaskan parameter utama.
Parameter
Deskripsi
provisionerTipe driver. Ini adalah parameter yang diperlukan. Saat menggunakan plugin CSI disk Alibaba Cloud, nilainya tetap pada
diskplugin.csi.alibabacloud.com.parameterstypeTipe disk. Ini adalah parameter yang diperlukan. Nilai yang valid:
cloud_essd(default): SSD Perusahaan (ESSD)cloud_auto: ESSD AutoPL diskcloud_essd_entry: ESSD Entry diskcloud_ssd: SSD standarcloud_efficiency: disk ultraelastic_ephemeral_disk_standard: Standard Edition elastic ephemeral diskelastic_ephemeral_disk_premium: premium elastic ephemeral diskcloud_regional_disk_auto: regional Enterprise SSD (ESSD)
Anda dapat menentukan kombinasi nilai apa pun, seperti
type: cloud_ssd,cloud_essd,cloud_auto. Sistem mencoba membuat disk sesuai urutan yang ditentukan. Tipe disk akhir bergantung pada faktor seperti instans node dan tipe disk yang didukung di zona tersebut.resourceGroupIdKelompok sumber daya tempat disk berada. Nilai default adalah
"".regionIdWilayah tempat disk berada. Harus sama dengan wilayah kluster.
fstypeSistem file yang digunakan oleh disk. Nilai yang valid:
ext4(default) danxfs.mkfsOptionsParameter untuk memformat disk, seperti
mkfsOptions: "-O project,quota".diskTagsTag disk. Misalnya,
diskTags: "a:b,b:c". Anda juga dapat menentukan tag dalam formatdiskTags/a: b. Komponen CSI harus v1.30.3 atau lebih baru.encryptedMenentukan apakah disk dienkripsi. Nilai default adalah
false, artinya disk tidak dienkripsi.performanceLevelTingkat performa ESSD. Nilai yang valid adalah
PL0,PL1(default),PL2, atauPL3.Saat digunakan dengan CloudBox, nilai ini harus diatur ke
PL0.volumeExpandAutoSnapshot[Usang]Parameter ini telah usang sejak CSI v1.31.4.
provisionedIopsDigunakan untuk mengonfigurasi performa yang disediakan (IOPS) disk saat menggunakan ESSD AutoPL disk.
burstingEnabledMenentukan apakah Burst (lonjakan performa) diaktifkan untuk ESSD AutoPL disk. Nilai default adalah
false, yang menonaktifkan lonjakan performa.multiAttachMenentukan apakah fitur multi-attach disk diaktifkan. Default-nya adalah
false(dinonaktifkan).volumeBindingModeMode pengikatan disk. Nilai yang valid:
Immediate(default): Membuat disk sebelum membuat pod.WaitForFirstConsumer: Menunda pengikatan. Pod dijadwalkan terlebih dahulu, lalu disk dibuat di zona yang sama dengan pod.Dalam skenario multi-zona, kami merekomendasikan penggunaan
WaitForFirstConsumeruntuk mencegah kegagalan pemasangan akibat disk dan node ECS berada di zona berbeda.Jika Anda menjadwalkan pod ke node virtual menggunakan metode penjadwalan tertentu atau menambahkan Anotasi tertentu, Anda tidak dapat menggunakan StorageClass bertipe
WaitForFirstConsumer. Untuk informasi selengkapnya, lihat Apa yang harus saya lakukan jika PVC tetap dalam status Pending saat pod dengan disk terpasang dijadwalkan ke node virtual?.
reclaimPolicyKebijakan pengembalian disk.
Delete(default): Saat PVC dihapus, PV dan disk juga dihapus.Retain: Saat PVC dihapus, PV dan data disk tidak dihapus. Anda harus menghapusnya secara manual.Jika keamanan data menjadi prioritas utama, kami merekomendasikan penggunaan
Retainuntuk mencegah penghapusan data secara tidak sengaja.
allowVolumeExpansionJika diatur ke
true, Anda dapat memperbesar volume disk tanpa gangguan layanan.allowedTopologiesMembatasi pembuatan disk hanya pada domain topologi tertentu.
key: Label domain topologi. Nilai yang didukung:topology.diskplugin.csi.alibabacloud.com/zone:keytopologi khusus yang disediakan oleh plugin CSI Alibaba Cloud.alibabacloud.com/ecs-instance-id: Saat menggunakan disk elastis sementara, Anda dapat menentukan node.
values: Daftar yang berisi ID zona atau node.
Jalankan perintah berikut untuk membuat StorageClass.
kubectl create -f disk-sc.yamlJalankan perintah berikut untuk melihat StorageClass.
kubectl get scOutput menunjukkan bahwa StorageClass telah dibuat dan berada dalam mode pengikatan
WaitForFirstConsumer.NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE alicloud-disk-wait-for-first-consumer diskplugin.csi.alibabacloud.com Retain WaitForFirstConsumer true 10s
Console
Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih .
Klik Create, pilih Cloud Disk sebagai tipe PV, atur parameter, lalu klik OK.
Parameter
Deskripsi
Parameters
Parameter default:
type.Tipe disk. Ini adalah parameter yang diperlukan. Nilai yang valid:
cloud_essd(default): SSD Perusahaan (ESSD)cloud_auto: ESSD AutoPL diskcloud_essd_entry: ESSD Entry diskcloud_ssd: SSD standarcloud_efficiency: disk ultraelastic_ephemeral_disk_standard: Standard Edition elastic ephemeral diskelastic_ephemeral_disk_premium: premium elastic ephemeral diskcloud_regional_disk_auto: regional Enterprise SSD (ESSD)
Anda dapat menentukan kombinasi nilai apa pun, seperti
type: cloud_ssd,cloud_essd,cloud_auto. Sistem mencoba membuat disk sesuai urutan yang ditentukan. Tipe disk akhir bergantung pada faktor seperti instans node dan tipe disk yang didukung di zona tersebut.
Reclaim Policy
Kebijakan pengembalian disk.
Delete(default): Saat PVC dihapus, PV dan disk juga dihapus.Retain: Saat PVC dihapus, PV dan data disk tidak dihapus. Anda harus menghapusnya secara manual.Jika keamanan data menjadi prioritas utama, kami merekomendasikan penggunaan
Retainuntuk mencegah penghapusan data secara tidak sengaja.
Binding Mode
Mode pengikatan disk. Nilai yang valid:
Immediate(default): Membuat disk sebelum membuat pod.WaitForFirstConsumer: Menunda pengikatan. Pod dijadwalkan terlebih dahulu, lalu disk dibuat di zona yang sama dengan pod.Dalam skenario multi-zona, kami merekomendasikan penggunaan
WaitForFirstConsumeruntuk mencegah kegagalan pemasangan akibat disk dan node ECS berada di zona berbeda.Jika Anda menjadwalkan pod ke node virtual menggunakan metode penjadwalan tertentu atau menambahkan Anotasi tertentu, Anda tidak dapat menggunakan StorageClass bertipe
WaitForFirstConsumer. Untuk informasi selengkapnya, lihat Apa yang harus saya lakukan jika PVC tetap dalam status Pending saat pod dengan disk terpasang dijadwalkan ke node virtual?.
Setelah StorageClass dibuat, Anda dapat melihatnya di halaman StorageClasses.
Langkah 2: Buat aplikasi dan pasang disk
Bagian ini menggunakan StatefulSet sebagai contoh untuk menunjukkan cara memasang volume disk.
Disk merupakan penyimpanan non-bersama. Jika multi-attach tidak diaktifkan, disk hanya dapat dipasang ke satu pod dalam satu waktu. Jika Anda berbagi PVC dalam deployment multi-replika, pod baru akan gagal karena tidak dapat memasang disk yang sedang digunakan oleh pod yang ada. Kami merekomendasikan penggunaan StatefulSet atau memasang disk terpisah untuk setiap pod.
Untuk menggunakan disk cloud dalam Deployment, kami merekomendasikan menggunakan disk cloud sebagai volume penyimpanan sementara. Untuk mengaktifkan multi-attach, lihat Gunakan disk cloud NVMe dengan multi-attach dan Reservation.
Buat file bernama
statefulset.yaml.Contoh berikut membuat StatefulSet dengan dua pod. Menggunakan
volumeClaimTemplatesuntuk secara otomatis membuat dan mengikat penyimpanan persisten independen untuk setiap pod.apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: serviceName: "nginx" replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: # Kami merekomendasikan konfigurasi securityContext berikut untuk mengoptimalkan performa pemasangan securityContext: fsGroup: 1000 fsGroupChangePolicy: "OnRootMismatch" containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 volumeMounts: # Pasang volume data ke direktori /data kontainer # Nama harus sama dengan metadata.name yang didefinisikan dalam volumeClaimTemplates - name: pvc-disk mountPath: /data # Definisikan templat PVC volumeClaimTemplates: - metadata: name: pvc-disk spec: # Mode akses accessModes: [ "ReadWriteOnce" ] # Asosiasikan StorageClass yang telah dibuat sebelumnya storageClassName: "alicloud-disk-wait-for-first-consumer" resources: requests: # Kapasitas penyimpanan yang diminta, yaitu ukuran disk storage: 20GiPentingMengonfigurasi
securityContext.fsgroupdalam pod menyebabkan kubelet secara rekursif mengubah izin file (chmod/chown) saat volume dipasang. Jika volume berisi banyak file, proses ini secara signifikan meningkatkan waktu pemasangan.Untuk kluster yang menjalankan Kubernetes 1.20 atau lebih baru, kami merekomendasikan menyetel
fsGroupChangePolicykeOnRootMismatch. Pengaturan ini hanya melakukan perubahan izin rekursif pada pemasangan pertama dan hanya jika izin direktori root volume tidak sesuai dengan izin yang diperlukan. Hal ini mengoptimalkan performa pemasangan. Jika performa masih belum memenuhi kebutuhan Anda atau jika Anda memerlukan kontrol izin yang lebih granular, kami merekomendasikan penggunaaninitContaineruntuk menjalankan perintah penyesuaian izin sebelum kontainer aplikasi utama dimulai.Jalankan perintah berikut untuk membuat StatefulSet.
kubectl create -f statefulset.yamlJalankan perintah berikut untuk memastikan pod berada dalam status Running.
kubectl get pod -l app=nginxJalankan perintah berikut untuk memeriksa jalur pemasangan dan memastikan disk telah dipasang.
Dalam contoh ini, nama pod adalah
web-1. Ganti dengan nama pod aktual Anda.kubectl exec web-1 -- df -h /dataOutput yang diharapkan:
Filesystem Size Used Avail Use% Mounted on /dev/vdb 20G 24K 20G 1% /data
Langkah 3: Simulasikan kegagalan pod dan verifikasi penyimpanan persisten
Untuk memverifikasi bahwa data yang disimpan di disk tetap ada setelah pod dibuat ulang, Anda dapat menulis data ke pod, menghapus pod, lalu memeriksa apakah data tersebut masih ada.
Tulis data uji ke pod.
Untuk pod
web-1, buat filetestdi jalur pemasangan disk/data.kubectl exec web-1 -- touch /data/test kubectl exec web-1 -- ls /dataOutput yang diharapkan:
lost+found testSimulasikan kegagalan pod dengan menghapus pod tersebut.
kubectl delete pod web-1Jalankan kembali
kubectl get pod -l app=nginx. Pod baru bernamaweb-1dibuat secara otomatis.Verifikasi data di pod baru.
Periksa folder
/datadi pod baruweb-1lagi.kubectl exec web-1 -- ls /dataOutput yang diharapkan menunjukkan bahwa file
testmasih ada. Hal ini mengonfirmasi bahwa data disimpan secara persisten meskipun pod dihapus dan dibuat ulang.lost+found test
Peluncuran
Ketersediaan tinggi
Pemilihan disk
Evaluasi performa disk, metode penagihan, zona node, dan keluarga instans. Hal ini memastikan pod dapat dijadwalkan ke node yang kompatibel.
Saat memilih tipe disk, perhatikan bahwa SSD standar dan disk ultra sedang dihentikan penggunaannya. Kami merekomendasikan penggunaan ESSD PL0 atau ESSD Entry disk untuk menggantikan disk ultra, dan menggantikan SSD standar dengan disk ESSD AutoPL.
Bangun solusi pemulihan bencana lintas zona
Pemulihan bencana tingkat aplikasi: Untuk layanan kritis, seperti database, sebarkan instans aplikasi di beberapa zona. Gunakan mekanisme sinkronisasi data aplikasi untuk mencapai ketersediaan tinggi.
Pemulihan bencana tingkat penyimpanan: Pilih tipe disk yang mendukung pemulihan bencana multi-zona. Tulis data secara real time ke zona berbeda dalam wilayah yang sama untuk mengaktifkan pemulihan kesalahan lintas zona. Untuk informasi selengkapnya, lihat Gunakan SSD Perusahaan (ESSD) regional.
Keamanan dan backup data
Cegah penghapusan data tidak sengaja:
Untuk mencegah kehilangan data, atur
reclaimPolicyStorageClass keRetain. Saat PVC dihapus, disk backend tidak dihapus. Hal ini menyederhanakan pemulihan data.Backup berkala
Volume dinamis menyederhanakan penyediaan resource, tetapi tidak menggantikan backup data. Untuk layanan inti, gunakan Backup Center untuk mencadangkan dan memulihkan data.
Aktifkan enkripsi data statis: Untuk aplikasi yang menangani data sensitif, konfigurasikan
encrypted: "true"dalam StorageClass untuk mengenkripsi disk.
Optimasi performa dan biaya
Aktifkan pemasangan paralel
Secara default, operasi disk pada satu node bersifat serial. Gunakan pemasangan disk paralel untuk mempercepat startup pod.
Aktifkan ekspansi volume online
Atur
allowVolumeExpansion: truedalam StorageClass. Hal ini memungkinkan Anda untuk memperbesar volume disk secara online jika kebutuhan penyimpanan Anda bertambah.Konfigurasikan pemantauan dan peringatan penyimpanan
Konfigurasikan peringatan berdasarkan pemantauan penyimpanan kontainer untuk segera mendeteksi anomali volume atau bottleneck performa.
Penagihan
Disk yang dibuat secara dinamis menggunakan StorageClass ditagih dengan model bayar sesuai penggunaan. Untuk informasi selengkapnya, lihat penagihan Elastic Block Storage dan harga Elastic Block Storage.
FAQ
Apa yang harus saya lakukan jika PVC macet dalam status Pending saat pod dengan disk terpasang dijadwalkan ke node virtual?
Masalah ini dapat terjadi jika Anda menggunakan StorageClass yang tidak mendukung penjadwalan ke node virtual. Saat Anda menjadwalkan pod ke node virtual menggunakan label atau anotasi tertentu, StorageClass dengan mode volumeBindingMode: WaitForFirstConsumer tidak didukung.
Alasan:
ModeWaitForFirstConsumerbergantung pada kube-scheduler untuk memilih node fisik bagi pod. Hal ini menentukan zona pod, yang kemudian digunakan untuk membuat disk. Namun, beberapa mekanisme penjadwalan untuk node virtual tidak mengikuti proses ini. Akibatnya, Container Storage Interface (CSI) tidak dapat memperoleh informasi zona. Akibatnya, PV tidak dapat dibuat, dan PVC tetap dalam status Pending.Jika Anda mengalami masalah ini, periksa apakah pod atau namespace-nya mengandung konfigurasi berikut:
Label:
alibabacloud.com/eci: "true": Menjadwalkan pod ke pod ECI.alibabacloud.com/acs: "true": Menjadwalkan pod ke pod ACS.
Spesifikasi node:
Pod secara langsung menentukan node menggunakan
spec.nodeName. Nama node memiliki awalanvirtual-kubelet.
Anotasi:
k8s.aliyun.com/eci-vswitch: Menentukan vSwitch untuk pod ECI.k8s.aliyun.com/eci-fail-strategy: "fail-fast": Mengatur kebijakan penanganan kegagalan pod ECI menjadi fail-fast.
Bagaimana cara memasang volume disk untuk pod tunggal atau deployment satu replika?
Untuk aplikasi sederhana yang tidak memerlukan penskalaan multi-replika atau Network ID yang stabil, buat PVC secara manual dan pasang ke pod atau deployment untuk mengaktifkan penyimpanan persisten.
Prosesnya sebagai berikut: Pilih StorageClass, buat PVC, lalu pasang PVC tersebut dalam aplikasi.
Buat PVC untuk meminta resource penyimpanan.
kubectl
Buat file bernama
disk-pvc.yaml.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: disk-pvc spec: # Mode akses accessModes: - ReadWriteOnce volumeMode: Filesystem resources: requests: # Kapasitas penyimpanan yang diminta, yaitu ukuran disk storage: 20Gi # Asosiasikan dengan StorageClass yang telah dibuat sebelumnya storageClassName: alicloud-disk-topology-alltypeTabel berikut menjelaskan parameter.
Parameter
Deskripsi
accessModesMode akses volume. Nilai yang valid:
ReadWriteOnce,ReadOnlyMany, atauReadWriteMany. Nilai yang didukung bergantung pada pengaturanmultiAttachdalam StorageClass dan pengaturanvolumeModedalam PVC.multiAttachmenentukan apakah multi-attach untuk disk diaktifkan. Nilai default adalahfalse.Jika
multiAttachadalahfalsedanvolumeModediatur ke nilai apa pun, hanyaReadWriteOnceyang didukung.Jika
multiAttachadalahtruedanvolumeModeadalahFilesystem, hanyaReadWriteOncedanReadOnlyManyyang didukung.Jika
multiAttachadalahtruedanvolumeModeadalahBlock, ketiga mode akses didukung.
PentingDalam skenario ini, mode akses biasanya
ReadWriteOnce(RWO), artinya volume hanya dapat dipasang oleh satu pod dalam satu waktu. Oleh karena itu, jumlah replika deployment tidak boleh lebih dari 1. Jika Anda mencoba memperluas deployment, pod baru akan macet dalam statusPendingkarena tidak dapat memasang disk yang sedang digunakan.volumeModeMode volume persisten. Nilai yang valid:
Filesystem(default): Volume diformat dan dipasang sebagai direktori.Block: Volume disediakan ke pod sebagai perangkat blok yang belum diformat.
storageKapasitas penyimpanan yang diminta. Rentang kapasitas bervariasi untuk tipe disk berbeda. Pastikan nilai
storagemematuhi batas kapasitas tipe disk yang sesuai dengan StorageClass yang direferensikan untuk mencegah kegagalan pembuatan disk.storageClassNameStorageClass yang akan diikat.
Buat PVC.
kubectl create -f disk-pvc.yamlLihat PVC.
kubectl get pvcDalam output, karena StorageClass menggunakan mode
WaitForFirstConsumer, PVC berada dalam statusPendinghingga pod pertama yang menggunakannya berhasil dijadwalkan.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Pending alicloud-disk-wait-for-first-consumer <unset> 14s
Console
Di panel navigasi kiri halaman manajemen kluster, pilih .
Pada halaman Persistent Volume Claims, klik Create. Atur PVC Type ke Cloud Disk dan konfigurasikan parameter sesuai petunjuk.
Parameter
Deskripsi
Allocation Mode
Pilih Use StorageClass.
Existing StorageClass
StorageClass default atau yang dibuat secara manual.
Capacity
Kapasitas penyimpanan yang diminta. Rentang kapasitas bervariasi untuk tipe disk berbeda. Pastikan nilai
storagemematuhi batas kapasitas tipe disk yang sesuai dengan StorageClass yang direferensikan untuk mencegah kegagalan pembuatan disk.Access Mode
Hanya ReadWriteOnce yang didukung. Artinya, volume hanya dapat dipasang sebagai baca-tulis oleh satu pod.
Setelah PVC dibuat, Anda dapat melihatnya di halaman Persistent Volume Claims.
Pasang PVC dalam aplikasi.
Buat file bernama
disk-deployment.yaml.Jalankan perintah berikut untuk menerapkan deployment.
kubectl create -f disk-deployment.yaml
Verifikasi hasil pemasangan.
Verifikasi bahwa pod berjalan dengan benar.
kubectl get pods -l app=nginx-singleLogin ke pod dan periksa apakah disk dipasang ke direktori
/data.# Dapatkan nama pod POD_NAME=$(kubectl get pods -l app=nginx-single -o jsonpath='{.items[0].metadata.name}') # Jalankan perintah df -h kubectl exec $POD_NAME -- df -h /dataOutput berikut menunjukkan bahwa disk 20 GiB berhasil dipasang.
Filesystem Size Used Avail Use% Mounted on /dev/vdb 20G 24K 20G 1% /data
Referensi
Jika Anda mengalami masalah saat menggunakan volume disk, lihat FAQ volume disk.
Untuk saran optimasi deployment disk multi-zona, lihat Konfigurasi yang direkomendasikan untuk ketersediaan tinggi volume disk.
Jika kluster Anda masih menggunakan komponen FlexVolume yang sudah usang, migrasikan FlexVolume ke CSI.
Untuk informasi selengkapnya tentang cara membuat workload, lihat Buat StatefulSet dan Buat Deployment.
Jika Anda tidak lagi menggunakan disk dan ingin menghentikan penagihan, lepaskan disk. Melepas disk akan menghapus disk dan datanya, serta menghentikan penagihan.