Disk Alibaba Cloud adalah sumber daya penyimpanan tingkat blok untuk Elastic Compute Service (ECS). Disk ini menawarkan latensi rendah, kinerja tinggi, daya tahan tinggi, dan keandalan tinggi. ACK Serverless memungkinkan Anda menggunakan Plugin Container Storage Interface (CSI) untuk membuat volume disk yang di-provision secara dinamis. Topik ini menjelaskan cara menggunakan volume disk yang di-provision secara dinamis serta cara memverifikasi bahwa volume tersebut dapat digunakan untuk penyimpanan persisten.
Skenario
Disk cocok untuk skenario berikut:
Membuat aplikasi dengan throughput I/O disk tinggi tanpa memerlukan berbagi data, seperti layanan MySQL dan Redis.
Menulis log dengan kecepatan tinggi.
Menyimpan data secara persisten secara independen dari siklus hidup pod.
Selain provisioning statis berdasarkan disk yang ada, Kubernetes mendukung provisioning dinamis melalui StorageClasses. Provisioning dinamis memungkinkan pembuatan dan alokasi sumber daya penyimpanan secara otomatis. Setelah mengaitkan StorageClass dengan klaim volume persisten (PVC), sistem akan otomatis membuat dan mengikat volume persisten (PV) sesuai konfigurasi PVC dan StorageClass. Fitur ini mengotomatiskan pembuatan dan konfigurasi sumber daya penyimpanan untuk memenuhi kebutuhan aplikasi, sekaligus mengurangi kompleksitas orkestrasi infrastruktur penyimpanan.
Cluster ACK Serverless tidak menyediakan StorageClasses default. Anda harus membuat StorageClasses secara manual di cluster ACK Serverless sesuai kebutuhan bisnis Anda.
Kubernetes menyediakan fitur StorageClass default. Jika PVC tidak menentukan StorageClass, StorageClass default akan digunakan untuk menyediakan PV untuk PVC. Untuk informasi lebih lanjut tentang penyimpanan Kubernetes, lihat Dasar-dasar Penyimpanan.
Prasyarat
Sebuah cluster ACK Serverless telah dibuat. Untuk informasi lebih lanjut, lihat Buat cluster ACK Serverless.
Klien kubectl terhubung ke cluster ACK Serverless. Untuk informasi lebih lanjut, lihat Gunakan kubectl untuk terhubung ke cluster ACK.
Plugin CSI telah diinstal secara manual. Untuk informasi lebih lanjut, lihat Instal dan perbarui csi-provisioner.
Prosedur
Konsol ACK
Step 1: Create a StorageClass
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan cluster yang diinginkan dan klik namanya. Di panel kiri, pilih .
Di pojok kanan atas halaman StorageClasses, klik Create.
Di kotak dialog Create, konfigurasikan parameter.
Tabel berikut menjelaskan parameter.
Parameter
Deskripsi
Name
Nama StorageClass. Nama harus mengikuti format yang ditampilkan di Konsol ACK.
PV Type
Tipe volume persisten (PV). Pilih Cloud Disk.
Parameter
Secara default, parameter tipe ditambahkan dan disetel ke cloud_essd. Parameter tipe menentukan kategori disk. Nilai valid untuk parameter tipe:
cloud_essd: Enterprise SSD (ESSD).cloud_regional_disk_auto: Regional ESSDselastic_ephemeral_disk_premium: premium elastic ephemeral disk.elastic_ephemeral_disk_standard: standard elastic ephemeral disk.cloud_ssd: standard SSD.cloud_efficiency: ultra disk.
Anda dapat menyetel parameter tipe ke kombinasi apa pun dari nilai-nilai di atas. Sebagai contoh, Anda dapat menentukan
type: cloud_ssd,cloud_essd. Dalam kasus ini, sistem mencoba membuat disk dalam urutan kategori yang ditentukan. Sistem berhenti mencoba setelah disk berhasil dibuat.CatatanJenis instance ECS tertentu tidak mendukung ESSD atau elastic ephemeral disk. Untuk informasi lebih lanjut, lihat FAQ tentang Elastic Block Storage.
Anda dapat menambahkan parameter kustom. Sebagai contoh, Anda dapat menambahkan parameter zoneId untuk menentukan ID zona tempat Anda ingin membuat disk. Jika cluster Anda diterapkan di satu zona, atur nilainya ke ID zona. Contoh:
cn-beijing-a. Jika cluster Anda diterapkan lintas zona, Anda dapat menyetel parameter zoneId ke beberapa ID zona berdasarkan kebutuhan bisnis Anda. Contoh:cn-beijing-a, cn-beijing-b.Reclaim Policy
Kebijakan reklaim disk. Nilai default: Delete. Anda juga dapat menyetel parameter ini ke Retain.
Mode Delete: Saat PVC dihapus, PV dan disk terkait juga dihapus.
Mode Retain: Saat PVC dihapus, PV dan disk terkait dipertahankan. PV dan data disk hanya dapat dihapus secara manual.
Jika Anda memerlukan keamanan data yang lebih tinggi, kami sarankan Anda menggunakan mode Retain untuk mencegah data terhapus secara tidak sengaja.
Binding Mode
Mode pengikatan volume. Nilai default: Immediate, yang menentukan bahwa sistem membuat disk sebelum membuat pod.
Setelah mengonfigurasi parameter, klik Create.
Setelah StorageClass dibuat, Anda dapat melihatnya di halaman StorageClasses.
Step 2: Create a PVC
Di panel navigasi kiri halaman detail, pilih .
Di pojok kanan atas halaman Persistent Volume Claims, klik Create.
Di kotak dialog Create PVC, atur parameter berikut:
Parameter
Deskripsi
PVC Type
Tipe PVC. Anda dapat menyetel parameter ini ke Cloud Disk atau NAS. Dalam contoh ini, parameter ini disetel ke Cloud Disk.
Name
Nama PVC. Nama harus unik di namespace.
Allocation Mode
Dalam contoh ini, Use StorageClass dipilih.
Existing Storage Class
Klik Select. Di kotak dialog Select Storage Class, temukan StorageClass yang ingin Anda gunakan dan klik Select di kolom Actions.
Capacity
Kapasitas yang diklaim oleh PVC.
Access Mode
Mode akses PV yang disediakan menggunakan PVC. Nilai default: ReadWriteOnce.
Klik Create.
Setelah PVC dibuat, Anda dapat melihatnya di halaman Persistent Volume Claims. PVC terikat ke PV.
Step 3: Create an application
Di panel navigasi kiri halaman detail, pilih .
Di pojok kanan atas halaman StatefulSets, klik Create from Image.
- Konfigurasikan parameter aplikasi.Contoh ini menunjukkan cara mengonfigurasi parameter volume. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Gunakan StatefulSet untuk membuat aplikasi stateful.
Anda dapat mengonfigurasi volume penyimpanan lokal dan volume penyimpanan cloud untuk cluster ACK. Dalam contoh ini, Cloud Storage dipilih.
Pasang volume disk yang dibuat dalam contoh ini ke path /tmp kontainer. Setelah volume disk dipasang, data kontainer yang dihasilkan di path /tmp disimpan di volume disk.
- Konfigurasikan parameter lainnya dan klik Create.Setelah aplikasi dibuat, Anda dapat menggunakan volume untuk menyimpan data aplikasi.
kubectl
Step 1: Create a StorageClass
Dalam cluster multi-zona, Anda dapat membuat StorageClass dengan terlebih dahulu membuat disk cloud lalu membuat pod.
Gunakan template berikut untuk membuat file bernama storage-class-csi.yaml:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alicloud-disk-ssd-b provisioner: diskplugin.csi.alibabacloud.com parameters: type: cloud_essd,cloud_ssd,cloud_efficiency encrypted: "false" reclaimPolicy: Retain allowVolumeExpansion: true volumeBindingMode: ImmediateParameter
Deskripsi
provisioner
Atur nilai menjadi
diskplugin.csi.alibabacloud.com. Nilai ini menentukan bahwa plugin provisioner untuk disk Alibaba Cloud digunakan untuk membuat StorageClass.type
Parameter ini menentukan kategori disk. Nilai valid:
cloud_auto: ESSD AutoPL disk.cloud_essd: ESSD. Ini adalah nilai default.cloud_essd_entry: ESSD Entry disk.cloud_ssd: standard SSD.cloud_efficiency: ultra disk.elastic_ephemeral_disk_standard: standard elastic ephemeral disk.elastic_ephemeral_disk_premium: premium elastic ephemeral disk.cloud_regional_disk_auto: Regional ESSDs.
Anda dapat menyetel parameter ini ke kombinasi apa pun dari nilai-nilai di atas. Sebagai contoh, Anda dapat menyetel parameter ini ke
type: cloud_ssd,cloud_essd,cloud_auto. Dalam kasus ini, sistem mencoba membuat disk dalam urutan kategori yang ditentukan. Sistem berhenti mencoba setelah disk berhasil dibuat.PentingAnda dapat menentukan kategori disk berdasarkan zona dan jenis instance node dalam cluster Anda serta persyaratan Anda untuk penagihan dan performa disk. Untuk informasi lebih lanjut, lihat topik berikut:
encrypted
Opsional. Parameter ini menentukan apakah disk dienkripsi. Nilai default adalah false, yang menunjukkan bahwa disk tidak dienkripsi.
reclaimPolicy
Kebijakan reklaim disk. Secara default, parameter ini disetel ke Delete. Anda juga dapat menyetel parameter ini ke Retain.
Mode Delete: Saat PVC dihapus, PV dan disk terkait juga dihapus.
Mode Retain: Saat PVC dihapus, PV dan disk terkait dipertahankan. PV dan data disk hanya dapat dihapus secara manual.
Jika Anda memerlukan keamanan data yang tinggi, kami sarankan Anda menggunakan mode Retain untuk mencegah data terhapus secara tidak sengaja.
allowVolumeExpansion
Jika Anda menyetel parameter ini ke true, disk dapat diperluas secara otomatis.
volumeBindingMode
Mode pengikatan volume. Nilai default: Immediate, yang menentukan bahwa sistem membuat disk sebelum membuat pod.
Jalankan perintah berikut untuk membuat StorageClass:
kubectl apply -f storage-class-csi.yamlLihat StorageClass yang dibuat.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan cluster yang diinginkan dan klik namanya. Di panel kiri, pilih .
Setelah StorageClass dibuat, Anda dapat melihatnya di halaman StorageClasses.
Step 2: Create a PVC
Gunakan template berikut untuk membuat file bernama pvc-ssd.yaml:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: disk-pvc spec: accessModes: - ReadWriteOnce volumeMode: Filesystem resources: requests: storage: 25Gi storageClassName: alicloud-disk-ssd-bParameter
Deskripsi
name
Nama PVC.
accessModes
Mode akses PV yang disediakan menggunakan PVC.
volumeMode
Opsional. Format di mana disk dipasang. Sistem file didukung.
storageClassName
Nama StorageClass yang ingin Anda kaitkan dengan PVC.
storage
Ukuran disk yang diklaim oleh PVC. Kapasitas minimum adalah 20 GiB.
Jalankan perintah berikut untuk membuat PVC:
kubectl create -f pvc-ssd.yamlLihat PVC yang dibuat.
Di panel navigasi kiri halaman detail cluster, pilih . Anda dapat melihat PVC yang dibuat di halaman Persistent Volume Claims.
Step 3: Create an application
Buat file bernama pvc-dynamic.yaml.
Gunakan template berikut untuk membuat aplikasi bernama nginx-dynamic dan pasang PVC ke aplikasi:
apiVersion: apps/v1 kind: StatefulSet metadata: name: nginx-dynamic spec: selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 name: web volumeMounts: - name: pvc-disk mountPath: /data volumes: - name: pvc-disk persistentVolumeClaim: claimName: disk-pvcParameter
Deskripsi
mountPath
Path tempat disk dipasang.
claimName
Nama PVC yang dipasang ke aplikasi.
Jalankan perintah berikut untuk menerapkan aplikasi dan memasang PVC ke aplikasi:
kubectl create -f pvc-dynamic.yamlLihat aplikasi yang diterapkan.
Di panel navigasi kiri halaman detail cluster, pilih . Anda dapat melihat aplikasi yang dibuat di halaman StatefulSets.
Referensi
Jika terjadi kesalahan saat menggunakan volume disk, lihat FAQ tentang volume disk.
Untuk informasi lebih lanjut tentang cara memperluas disk ketika ukuran disk tidak memenuhi kebutuhan bisnis Anda atau disk penuh, lihat Perluas volume disk.
Untuk informasi lebih lanjut tentang penggunaan disk secara real-time, lihat Ikhtisar pemantauan penyimpanan kontainer.