All Products
Search
Document Center

Container Service for Kubernetes:Perbesar volume disk cloud secara online

Last Updated:Aug 21, 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 disk dasar. Disk dasar tidak mendukung perluasan online.

  • Kluster menjalankan Kubernetes 1.16 atau lebih baru. Untuk melakukan upgrade, lihat Upgrade kluster.

  • Disk mendukung pengubahan ukuran. Lihat ResizeDisk untuk tipe disk yang didukung.

Penting

Buat snapshot sebelum mengubah ukuran untuk mencadangkan data Anda. Hapus snapshot tersebut setelah perluasan selesai agar tidak dikenakan biaya tambahan. Lihat Gunakan snapshot disk.

Hanya untuk kluster 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.

Berikut adalah contoh kebijakan izin yang mencakup aksi ResizeDisk:

"Action": [
    "ecs:AttachDisk",
    "ecs:DetachDisk",
    "ecs:DescribeDisks",
    "ecs:CreateDisk",
    "ecs:CreateSnapshot",
    "ecs:DeleteDisk",
    "ecs:ResizeDisk",
    "ecs:CreateNetworkInterface",
    "ecs:DescribeNetworkInterfaces",
    "ecs:AttachNetworkInterface",
    "ecs:DetachNetworkInterface",
    "ecs:DeleteNetworkInterface",
    "ecs:DescribeInstanceAttribute",
    "ecs:AssignPrivateIpAddresses",
    "ecs:UnassignPrivateIpAddresses",
    "ecs:DescribeInstances"
]

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 sesuai, 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. Perbarui 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. Pada tab Volumes, catat PVC yang digunakan oleh Pod tersebut.

  4. Konfirmasi bahwa StorageClass telah mengaktifkan perluasan.

    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.

      Contoh output:

      allowVolumeExpansion: true
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      metadata:
        creationTimestamp: '2025-01-21T08:48:26Z'
        managedFields:
          - apiVersion: storage.k8s.io/v1
            fieldsType: FieldsV1
            fieldsV1:
              'f:allowVolumeExpansion': {}
              'f:parameters':
                .: {}
                'f:type': {}
              'f:provisioner': {}
              'f:reclaimPolicy': {}
              'f:volumeBindingMode': {}
            manager: okhttp
            operation: Update
            time: '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. Perluas PVC.

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

    2. Temukan PVC tersebut dan klik Expand.

    3. Masukkan kapasitas baru, pilih I understand and agree to the preceding operations., lalu klik OK.

      Rentang perluasan: minimum 21 GiB, maksimum 32.768 GiB. Desimal tidak didukung.

      Catatan

      Jika PVC tidak direferensikan oleh Pod apa pun, perluasan PVC akan tetap dalam status Expanding.

    4. Tunggu hingga perluasan selesai, lalu verifikasi bahwa PVC menampilkan kapasitas barunya.

Langkah berikutnya