全部产品
Search
文档中心

Container Service for Kubernetes:Memperluas volume disk tanpa gangguan layanan

更新时间:Jul 06, 2025

Ketika volume disk kehabisan ruang penyimpanan, Anda dapat memperluas kapasitasnya dengan mengubah ukuran disk. Anda dapat memperluas volume disk tanpa gangguan layanan menggunakan Plugin Container Storage Interface (CSI) di klaster Container Service for Kubernetes (ACK) yang menjalankan Kubernetes versi 1.16 atau lebih baru. Topik ini menjelaskan cara memperluas volume disk tanpa gangguan layanan.

Skenario

Dalam contoh ini, Anda dapat memperluas volume disk dengan mengubah Persistent Volume Claim (PVC). Berikut adalah skenario di mana metode ini dapat digunakan:

  • PVC terikat pada Persistent Volume (PV) dari disk yang dikaitkan dengan StorageClass, dan parameter allowVolumeExpansion: true ditentukan dalam StorageClass.

    Catatan

    Secara default, parameter allowVolumeExpansion: true sudah ditentukan dalam StorageClass yang disediakan oleh ACK. Untuk StorageClass yang Anda buat sendiri, Anda harus menentukan parameter ini. Properti StorageClass tidak dapat diubah setelah dibuat; Anda hanya dapat membuat StorageClass baru.

  • Pod aplikasi tempat disk dilampirkan harus dalam status Running.

  • Jika disk adalah disk dasar, Anda tidak dapat memperluas volume disk menggunakan metode ini.

  • Jika versi Kubernetes klaster lebih lama dari 1.16, Anda tidak dapat menggunakan metode ini untuk memperluas volume disk. Untuk informasi lebih lanjut tentang cara meningkatkan versi Kubernetes klaster, lihat Tingkatkan Klaster.

  • Anda hanya dapat memperluas volume disk dari disk yang mendukung perubahan ukuran. Untuk informasi lebih lanjut, lihat ResizeDisk.

Persiapan

  • Snapshot telah dibuat untuk disk Anda.

    Penting

    Untuk mencegah kehilangan data akibat operasi yang tidak disengaja selama proses ekspansi, kami sarankan Anda membuat snapshot untuk mencadangkan data disk sebelum mengubah ukuran disk. Setelah ekspansi selesai, Anda dapat menghapus snapshot untuk menghindari biaya tambahan. Untuk informasi lebih lanjut, lihat Gunakan Snapshot Disk.

  • Jika klaster Anda adalah klaster khusus ACK, berikan izin ResizeDisk kepada peran RAM yang ditugaskan ke klaster.

    Catatan

    Jika Anda menggunakan klaster terkelola ACK, Anda tidak perlu memberikan izin ResizeDisk kepada klaster.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Di halaman Clusters, temukan klaster yang diinginkan dan klik namanya. Di panel kiri, klik Cluster Information.

    3. Klik tab Basic Information, lalu klik tautan di samping Master RAM Role di bagian Cluster Resources.

    4. Di halaman Roles Konsol RAM, tambahkan izin ResizeDisk.

      Untuk detail langkah-langkahnya, lihat Ubah Dokumen dan Deskripsi Kebijakan Kustom.resizedisk

Prosedur

Jika volume disk yang diprovision secara dinamis dilampirkan ke aplikasi yang ada, Anda dapat memodifikasi PVC untuk memperluas volume disk tanpa interupsi pod.

Catatan

Contoh berikut menggunakan aplikasi yang dibuat di volume disk yang diprovision secara dinamis untuk menjelaskan cara memperluas volume disk.

Gunakan kubectl

  1. Hubungkan ke klaster. Untuk informasi lebih lanjut, lihat Dapatkan File kubeconfig dari Klaster dan Gunakan kubectl untuk Menghubungkan ke Klaster atau Gunakan kubectl di Workbench atau Cloud Shell untuk Menghubungkan ke Klaster ACK.

  2. Periksa informasi pod, disk, PVC, dan StorageClass terkait sebelum memperluas volume disk.

    1. Lihat informasi tentang pod tempat disk dilampirkan dan pastikan bahwa pod 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
    2. Lihat penggunaan disk direktori tempat disk dipasang.

      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
    3. Periksa PVC.

      kubectl get pvc

      Dalam contoh berikut, nama PVC adalah dik-pvc, ID disk yang diikat ke PVC adalah d-uf6axyb1er071h6o****, dan kapasitasnya adalah 20 GiB. StorageClass yang terkait dengan PVC adalah alicloud-disk-wait-for-first-consumer.

      Penting

      Untuk volume disk yang diprovision secara statis, Anda harus memastikan bahwa parameter storageClassName dalam PVC tidak kosong dan StorageClass dengan nama yang sama tersedia di klaster. Jika tidak ada StorageClass dengan nama yang sama di klaster, Anda harus membuat StorageClass berdasarkan atribut volume disk yang ada dan menentukan parameter allowVolumeExpansion: true.

      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. Periksa StorageClass dan apakah ekspansi diaktifkan.

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

      Respon yang diharapkan ditampilkan. Parameter allowVolumeExpansion: true menunjukkan bahwa ekspansi diaktifkan.

      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
  3. Modifikasi PVC dan sesuaikan ukuran disk.

    Dalam contoh ini, disk perlu diperluas menjadi 30 GiB. Berikut adalah contoh perintah:

    kubectl patch pvc disk-pvc -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
  4. Tunggu satu menit, lalu periksa apakah disk telah diubah ukurannya.

    1. Periksa PVC.

      kubectl get pvc

      Output perintah menunjukkan bahwa ukuran disk meningkat menjadi 30 GiB.

      NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                            VOLUMEATTRIBUTESCLASS   AGE
      disk-pvc   Bound    d-uf6axyb1er071h6o****   30Gi       RWO            alicloud-disk-wait-for-first-consumer   <unset>                 23h
    2. Lihat penggunaan disk direktori tempat disk dipasang.

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

      Output perintah menunjukkan bahwa disk telah diubah ukurannya.

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

Gunakan Konsol ACK

Catatan

Konsol ACK hanya mendukung volume disk yang diprovision secara dinamis. Untuk informasi lebih lanjut tentang volume disk yang diprovision secara statis, lihat Gunakan kubectl.

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama klaster yang ingin Anda kelola untuk masuk ke halaman manajemen klaster.

  3. Periksa apakah pod tempat disk dilampirkan dalam status Running dan lihat PVC yang digunakan oleh pod.

    1. Di panel navigasi kiri halaman manajemen klaster, pilih Workloads > StatefulSets.

    2. Klik nama aplikasi yang ingin Anda lihat. Di tab Pods, pastikan bahwa pod dalam status Running.

      扩容-容器组

    3. Klik nama pod. Di tab Volumes, lihat PVC yang digunakan oleh pod.

      扩容-pvc

  4. Periksa StorageClass dan apakah ekspansi diaktifkan.

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

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

    3. Periksa apakah parameter allowVolumeExpansion: true ditentukan.

      扩容的SC

  5. Modifikasi PVC untuk memperluas volume disk.

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

    2. Temukan PVC yang ingin Anda kelola dan klik Expand.

    3. Di kotak dialog yang muncul, masukkan kapasitas baru, pilih Saya memahami dan setuju dengan operasi sebelumnya, lalu klik OK.

      在线扩容

    4. Tunggu hingga ekspansi selesai, lalu periksa apakah kapasitas PVC telah diperluas.

Referensi