All Products
Search
Document Center

Container Service for Kubernetes:Perbesar volume disk cloud secara online

Last Updated:Mar 27, 2026

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.

Penting

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.

  1. Masuk ke Konsol ACK dan klik Clusters.

  2. Klik nama kluster, lalu klik Cluster Information di panel kiri.

  3. Pada tab Basic Information, temukan Master RAM Role di bagian Cluster Resources dan klik tautannya.

  4. Pada halaman Roles di Konsol RAM, tambahkan izin ResizeDisk. Lihat Ubah dokumen dan deskripsi kebijakan kustom.

resizedisk

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.

  1. 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.

  2. Verifikasi bahwa Pod berada dalam status Running.

    kubectl get pod -l app=nginx

    Output yang diharapkan:

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          23h
  3. Periksa penggunaan disk saat ini dan PVC.

    Penting

    Untuk volume disk yang diprovisikan secara statis, pastikan bahwa storageClassName pada 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 atur allowVolumeExpansion: true.

    kubectl exec disk-test-0 -- df -h /data

    Output yang diharapkan:

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb         20G   24K   20G   1% /data
    kubectl get pvc

    Output yang diharapkan (PVC disk-pvc terikat 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>                 23h
  4. Konfirmasi bahwa StorageClass memiliki allowVolumeExpansion: true.

    kubectl get sc alicloud-disk-wait-for-first-consumer -o yaml

    Output 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: WaitForFirstConsumer
  5. Terapkan patch ke PVC untuk meminta kapasitas 30 GiB.

    kubectl patch pvc disk-pvc -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
  6. Tunggu sekitar satu menit, lalu verifikasi kapasitas barunya.

    kubectl get pvc

    Output 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>                 23h
    kubectl exec disk-test-0 -- df -h /data

    Output yang diharapkan:

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb         30G   24K   30G   1% /data

Perbesar volume disk menggunakan Konsol ACK

Catatan

Konsol ACK hanya mendukung volume disk yang diprovisikan secara dinamis. Untuk volume disk yang diprovisikan secara statis, gunakan kubectl.

  1. Masuk ke Konsol ACK dan klik Clusters.

  2. Klik nama kluster untuk membuka halaman manajemen kluster.

  3. Verifikasi status Pod dan temukan PVC-nya.

    1. Di panel navigasi kiri, pilih Workloads > StatefulSets.

    2. Klik nama aplikasi. Pada tab Pods, pastikan Pod berada dalam status Running. 扩容-容器组

    3. Klik nama Pod tersebut. Pada tab Volumes, catat PVC yang digunakan oleh Pod. 扩容-pvc

  4. Konfirmasi bahwa StorageClass telah mengaktifkan ekspansi.

    1. Di panel navigasi kiri, pilih Volumes > Storage Classes.

    2. Temukan StorageClass yang digunakan oleh volume disk dan klik View in YAML.

    3. Pastikan allowVolumeExpansion: true tersedia. 扩容的SC

  5. Perbesar PVC.

    1. Di panel navigasi kiri, pilih Volumes > Persistent Volume Claims.

    2. Temukan PVC tersebut dan klik Expand.

    3. Masukkan kapasitas baru, centang I understand and agree to the preceding operations, lalu klik OK. 在线扩容

    4. Tunggu hingga proses ekspansi selesai, lalu verifikasi bahwa PVC menampilkan kapasitas baru.

Langkah berikutnya