Plugin Container Storage Interface (CSI) di ACK memungkinkan Anda memperbesar volume Cloud Disk dengan mengubah Persistent Volume Claim (PVC) tanpa harus me-restart atau mengganggu Pod yang sedang berjalan. Fitur ini memerlukan Kubernetes versi 1.16 atau lebih baru.
Prasyarat
Sebelum memulai, pastikan bahwa:
StorageClass yang terikat ke PVC memiliki
allowVolumeExpansion: true. StorageClass bawaan ACK telah mengaktifkan pengaturan ini secara default. Untuk StorageClass kustom, Anda harus mengaturnya secara manual. Properti StorageClass tidak dapat diubah setelah dibuat—buat StorageClass baru jika diperlukan.Pod yang menggunakan disk berada dalam status Running.
Disk tersebut bukan basic disk. Basic disk tidak mendukung ekspansi online.
Kluster menjalankan Kubernetes 1.16 atau lebih baru. Untuk melakukan upgrade, lihat Upgrade kluster.
Disk mendukung resize. Lihat ResizeDisk untuk tipe disk yang didukung.
Buat snapshot sebelum melakukan resize untuk mencadangkan data Anda. Hapus snapshot tersebut setelah ekspansi selesai agar tidak dikenakan biaya tambahan. Lihat Gunakan snapshot disk.
Hanya untuk cluster khusus ACK: Berikan izin ResizeDisk kepada RAM role kluster. Kluster ACK yang dikelola sudah memiliki izin ini.
Masuk ke Konsol ACK dan klik Clusters.
Klik nama kluster, lalu klik Cluster Information di panel kiri.
Pada tab Basic Information, temukan Master RAM Role di bagian Cluster Resources dan klik tautannya.
Pada halaman Roles di Konsol RAM, tambahkan izin
ResizeDisk. Lihat Ubah dokumen dan deskripsi kebijakan kustom.

Perbesar volume disk menggunakan kubectl
Contoh berikut menggunakan volume disk yang dibuat dalam Buat volume disk yang diprovisikan secara dinamis. Mengubah PVC akan memicu plugin CSI untuk mengubah ukuran disk yang mendasarinya dan memperluas filesystem secara online—Pod tetap berjalan selama proses tersebut.
Hubungkan ke kluster Anda. Lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster atau Gunakan kubectl di Workbench atau Cloud Shell untuk terhubung ke kluster ACK.
Verifikasi bahwa Pod berada dalam status Running.
kubectl get pod -l app=nginxOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE disk-test-0 1/1 Running 0 23hPeriksa penggunaan disk saat ini dan PVC.
PentingUntuk volume disk yang diprovisikan secara statis, pastikan bahwa
storageClassNamepada PVC tidak kosong dan StorageClass dengan nama tersebut tersedia di kluster. Jika tidak ada StorageClass yang cocok, buat satu dengan atribut disk yang ada dan aturallowVolumeExpansion: true.kubectl exec disk-test-0 -- df -h /dataOutput yang diharapkan:
Filesystem Size Used Avail Use% Mounted on /dev/vdb 20G 24K 20G 1% /datakubectl get pvcOutput yang diharapkan (PVC
disk-pvcterikat dengan kapasitas 20 GiB):NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-uf6axyb1er071h6o**** 20Gi RWO alicloud-disk-wait-for-first-consumer <unset> 23hKonfirmasi bahwa StorageClass memiliki
allowVolumeExpansion: true.kubectl get sc alicloud-disk-wait-for-first-consumer -o yamlOutput yang diharapkan:
allowVolumeExpansion: true apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: creationTimestamp: "2025-01-21T08:48:26Z" name: alicloud-disk-wait-for-first-consumer resourceVersion: "59936" uid: 5bdb798e-5888-40df-9f91-259ee8510f34 parameters: type: cloud_auto,cloud_essd,cloud_ssd provisioner: diskplugin.csi.alibabacloud.com reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumerTerapkan patch ke PVC untuk meminta kapasitas 30 GiB.
kubectl patch pvc disk-pvc -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'Tunggu sekitar satu menit, lalu verifikasi kapasitas barunya.
kubectl get pvcOutput yang diharapkan:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-uf6axyb1er071h6o**** 30Gi RWO alicloud-disk-wait-for-first-consumer <unset> 23hkubectl exec disk-test-0 -- df -h /dataOutput yang diharapkan:
Filesystem Size Used Avail Use% Mounted on /dev/vdb 30G 24K 30G 1% /data
Perbesar volume disk menggunakan Konsol ACK
Konsol ACK hanya mendukung volume disk yang diprovisikan secara dinamis. Untuk volume disk yang diprovisikan secara statis, gunakan kubectl.
Masuk ke Konsol ACK dan klik Clusters.
Klik nama kluster untuk membuka halaman manajemen kluster.
Verifikasi status Pod dan temukan PVC-nya.
Di panel navigasi kiri, pilih Workloads > StatefulSets.
Klik nama aplikasi. Pada tab Pods, pastikan Pod berada dalam status Running.

Klik nama Pod tersebut. Pada tab Volumes, catat PVC yang digunakan oleh Pod.

Konfirmasi bahwa StorageClass telah mengaktifkan ekspansi.
Di panel navigasi kiri, pilih Volumes > Storage Classes.
Temukan StorageClass yang digunakan oleh volume disk dan klik View in YAML.
Pastikan
allowVolumeExpansion: truetersedia.
Perbesar PVC.
Di panel navigasi kiri, pilih Volumes > Persistent Volume Claims.
Temukan PVC tersebut dan klik Expand.
Masukkan kapasitas baru, centang I understand and agree to the preceding operations, lalu klik OK.

Tunggu hingga proses ekspansi selesai, lalu verifikasi bahwa PVC menampilkan kapasitas baru.
Langkah berikutnya
Untuk memperbesar volume disk secara otomatis ketika penggunaan melebihi ambang batas, lihat Perbesar volume disk secara otomatis (pratinjau publik).
Untuk informasi tentang error volume disk dan solusinya, lihat FAQ tentang volume disk.