全部产品
Search
文档中心

Container Service for Kubernetes:Pemecahan Masalah Penyimpanan

更新时间:Nov 11, 2025

Jika Anda mengalami anomali status pod saat memasang dan menggunakan volume penyimpanan, lakukan pemecahan masalah dengan memeriksa status dan event pod serta PVC, bersama komponen penyimpanan CSI, untuk mengidentifikasi penyebab dan menyelesaikan masalah tersebut. Topik ini menjelaskan prosedur diagnostik untuk masalah penyimpanan umum.

流程

1. Periksa apakah anomali pod disebabkan oleh masalah penyimpanan

Konfirmasi apakah pod tidak dapat dimulai karena masalah penyimpanan dengan memeriksa event pod atau PVC.

  1. Periksa event pod yang bermasalah.

    kubectl describe pod <pod-name>
    • Jika terdapat event di Events yang menunjukkan masalah penyimpanan (misalnya, FailedScheduling dengan Message yang menunjukkan kegagalan penjadwalan karena ketidaksesuaian antara volume dan node), rujuk bagian berikut untuk pemecahan masalah lebih lanjut.

      Events:
        Type     Reason            Age    From               Message
        ----     ------            ----   ----               -------
        Warning  FailedScheduling  4m37s  default-scheduler  0/1 nodes are available: 1 node(s) had volume node affinity conflict. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.,
    • Jika terdapat event di Events yang menunjukkan volume telah berhasil dipasang (misalnya, SuccessfulAttachVolume), tetapi pod tidak dimulai (misalnya, CrashLoopBackOff), maka ini bukan masalah penyimpanan. Harap pecahkan masalah lain berdasarkan Events atau ajukan tiket.

      Events:
        Type    Reason                  Age   From                     Message
        ----    ------                  ----  ----                     -------
        Normal  Scheduled               97s   default-scheduler        Successfully assigned default/disk-test-0 to cn-shanghai.192.168.5.2
        Normal  SuccessfulAttachVolume  97s   attachdetach-controller  AttachVolume.Attach succeeded for volume "d-uf6b8s2l5ypf48*****"
  2. Jika tidak ditemukan event terkait penyimpanan di event pod, Anda dapat memeriksa semua event.

    kubectl get events
    • Jika terdapat event yang menunjukkan masalah penyimpanan (misalnya, FailedBinding yang menunjukkan kegagalan PVC mengikat ke PV), rujuk bagian berikut untuk pemecahan masalah lebih lanjut.

      LAST SEEN   TYPE      REASON                 OBJECT                                                  MESSAGE
      2m56s       Normal    FailedBinding          persistentvolumeclaim/data-my-release-mariadb-0         no persistent volumes available for this claim and no storage class is set
      41s         Normal    ExternalProvisioning   persistentvolumeclaim/pvc-nas-dynamic-create-subpath8   waiting for a volume to be created, either by external provisioner "nasplugin.csi.alibabacloud.com" or manually created by system administrator
      3m31s       Normal    Provisioning           persistentvolumeclaim/pvc-nas-dynamic-create-subpath8   External provisioner is provisioning volume for claim "default/pvc-nas-dynamic-create-subpath8"
    • Jika tidak ada event terkait penyimpanan, harap pecahkan masalah lain berdasarkan Events atau ajukan tiket.

2. Periksa apakah komponen penyimpanan berfungsi dengan baik

Catatan

Jika kluster Anda saat ini menggunakan komponen Flexvolume, karena Flexvolume sudah tidak didukung lagi, segera migrasikan ke komponen CSI. Untuk informasi selengkapnya, lihat Migrasi dari Flexvolume ke CSI.

  1. Periksa apakah komponen penyimpanan CSI berfungsi dengan baik.

    kubectl get pod -n kube-system |grep csi

    Berikut adalah contoh hasil yang dikembalikan. Jika status pod bukan Running, jalankan kubectl describe pods <pod-name> -n kube-system untuk memeriksa alasan spesifik keluarnya kontainer dan event pod tersebut.

    Catatan

    Komponen penyimpanan CSI mencakup csi-plugin dan csi-provisioner, di mana csi-provisioner secara default diinstal dalam versi managed. Komponen versi managed dikelola oleh Alibaba Cloud, sehingga Anda tidak dapat melihat pod terkait di kluster.

    NAME                     READY   STATUS        RESTARTS   AGE
    csi-plugin-bpz28         4/4     Running       0          3d
    csi-plugin-h2tdg         4/4     Running       0          3d
    csi-plugin-qpnm4         4/4     Running       0          3d
    csi-plugin-wczgm         4/4     Running       0          3d
  2. Periksa apakah komponen penyimpanan CSI merupakan versi terbaru.

    kubectl get ds csi-plugin -n kube-system -o yaml |grep image

    Anda dapat mengonfirmasi versi gambar di bidang image dari informasi yang dikembalikan, seperti pada contoh berikut:

    image: registry-cn-shanghai-vpc.ack.aliyuncs.com/acs/csi-plugin:v1.33.1-67e8986-aliyun

    Jika komponen penyimpanan bukan versi terbaru, harap tingkatkan csi-plugin dan csi-provisioner. Untuk informasi tentang versi terbaru komponen penyimpanan, lihat csi-plugin.

    Catatan

    Anda juga dapat menemukan komponen csi-plugin dan csi-provisioner di halaman Components di konsol untuk mengonfirmasi informasi versi dan meningkatkan komponen.

  3. Periksa YAML PV, PVC, dan StorageClass untuk memastikan bahwa konfigurasi driver (driver atau bidang provisioner) menggunakan komponen penyimpanan CSI dan konsisten dengan komponen penyimpanan yang digunakan oleh kluster saat ini.

3. Periksa apakah PVC berada dalam status Bound

  1. Periksa status PVC.

    kubectl get pvc
  2. Jika PVC tidak dalam status Bound, rujuk metode berikut untuk pemecahan masalah dan penyelesaian.

    Penyebab

    • Statis: Selector PVC dan PV gagal memenuhi kondisi tertentu. Misalnya, konfigurasi selector PVC berbeda dari PV, nama StorageClass tidak konsisten, atau status PV adalah Released.

    • Dinamis: Masalah dengan komponen csi-provisioner.

    Solusi

4. Periksa apakah pod berada dalam status Running

  1. Periksa status pod.

    kubectl get pod
  2. Jika PVC berada dalam status Bound tetapi pod tidak dalam status Running, rujuk metode berikut untuk pemecahan masalah dan penyelesaian berdasarkan jenis volume penyimpanan.

    Volume disk

    Penting

    Saat menggunakan volume disk, pastikan spesifikasi node ECS tempat Pod dijadwalkan mendukung pemasangan jenis disk tersebut, serta Pod dan disk berada dalam wilayah dan zona yang sama. Untuk informasi tentang hubungan pencocokan antara jenis disk dan spesifikasi instance ECS, lihat Ikhtisar keluarga instance.

    Penyebab

    • Tidak ada node yang tersedia untuk penjadwalan.

    • Terjadi kesalahan saat sistem memasang disk.

    • Instance ECS tidak mendukung jenis disk yang ditentukan.

    Solusi

    • Jadwalkan pod ke node lain. Untuk informasi selengkapnya, lihat Jadwalkan pod aplikasi ke node tertentu.

    • Jalankan kubectl describe pods <pod-name> untuk melihat event pod.

    • Jika instance ECS tidak mendukung jenis disk yang ditentukan, pilih jenis disk yang didukung oleh instance ECS. Untuk informasi selengkapnya, lihat Ikhtisar keluarga instance.

    • Untuk masalah tipe ECS OpenAPI lainnya, lihat ErrorCode.

    Volume NAS

    Penting
    • Node dan NAS harus berada dalam VPC yang sama. Jika tidak berada dalam VPC yang sama, gunakan Cloud Enterprise Network untuk menghubungkannya.

    • NAS mendukung pemasangan lintas zona.

    • Direktori mount untuk Extreme NAS harus dimulai dengan /share.

    Penyebab

    • fsGroups digunakan saat memasang NAS, dan terdapat banyak file, menyebabkan chmod menjadi lambat.

    • Port 2049 diblokir dalam aturan grup keamanan.

    • Sistem file NAS dan node diterapkan di VPC yang berbeda.

    Solusi

    • Periksa apakah fsGroups dikonfigurasi. Jika ya, hapus konfigurasi tersebut, mulai ulang pod, dan coba pasang kembali.

    • Periksa apakah port 2049 dari node yang menjalankan pod diblokir. Jika ya, buka blokir port tersebut dan coba lagi. Untuk informasi selengkapnya, lihat Tambahkan aturan grup keamanan.

    • Jika sistem file NAS dan node diterapkan di VPC yang berbeda, gunakan Cloud Enterprise Network untuk menghubungkannya.

    • Untuk masalah lainnya, jalankan kubectl describe pods <pod-name> untuk melihat event pod.

    Volume OSS

    Penting
    • Saat memasang OSS ke node, Anda perlu mengisi Informasi AccessKey di PV, yang dapat digunakan melalui metode Secret.

    • Saat menggunakan OSS lintas wilayah, Anda perlu mengubah URL Bucket ke alamat publik. Untuk wilayah yang sama, disarankan menggunakan alamat internal.

    Penyebab

    • fsGroups digunakan saat memasang OSS, dan terdapat banyak file, menyebabkan chmod menjadi lambat.

    • Bucket OSS dan node dibuat di wilayah yang berbeda dan Titik akhir internal bucket OSS digunakan. Akibatnya, node gagal terhubung ke titik akhir bucket.

    Solusi

    • Periksa apakah fsGroups dikonfigurasi. Jika ya, hapus konfigurasi tersebut, mulai ulang pod, dan coba pasang kembali.

    • Periksa apakah bucket OSS dan node dibuat di wilayah yang berbeda dan apakah Titik akhir internal digunakan. Jika ya, ubah ke Titik akhir publik.

    • Untuk masalah lainnya, jalankan kubectl describe pods <pod-name> untuk melihat event pod.

FAQ

Saat membuat atau memasang volume penyimpanan, PVC menampilkan no volume plugin matched

Masalah

Saat membuat atau memasang volume penyimpanan, PVC menampilkan Unable to attach or mount volumes: unmounted volumes=[xxx], unattached volumes=[xxx]: failed to get Plugin from volumeSpec for volume "xxx" err=no volume plugin matched.

Penyebab

Plugin volume tidak cocok dengan templat YAML. Akibatnya, sistem tidak dapat menemukan plugin volume yang sesuai saat membuat atau memasang volume.

Solusi

Periksa apakah plugin volume ada di kluster.

  • Jika plugin volume belum diinstal, instal plugin tersebut. Untuk informasi selengkapnya, lihat Kelola komponen.

  • Jika plugin volume sudah diinstal, periksa apakah plugin volume cocok dengan templat YAML PV dan PVC serta apakah templat YAML memenuhi persyaratan berikut:

    • Plugin CSI diterapkan dengan mengikuti langkah-langkah yang diperlukan. Untuk informasi selengkapnya, lihat Storage CSI.

    • Plugin FlexVolume diterapkan dengan mengikuti langkah-langkah yang diperlukan. Untuk informasi selengkapnya, lihat Storage FlexVolume.

      Penting

      Karena FlexVolume sudah tidak didukung lagi, disarankan untuk segera migrasi ke komponen CSI. Untuk informasi selengkapnya, lihat Migrasi dari FlexVolume ke CSI.

Event Pod menunjukkan 0/x node tersedia: Pod x memiliki PersistentVolumeClaims langsung yang tidak terikat

Masalah

Pod gagal dimulai, dan event pod menunjukkan:

0/x nodes are available: x pod has unbound immediate PersistentVolumeClaims. preemption: 0/x nodes are available: x Preemption is not helpful for scheduling

Penyebab

StorageClass kustom yang dirujuk oleh pod tidak ditemukan karena StorageClass kustom tersebut tidak ada.

Solusi

Periksa apakah StorageClass yang dirujuk oleh pod saat ini ada. Jika tidak ada, buat ulang StorageClass tersebut.

PV berada dalam status Released dan tidak dapat diikat dengan membuat ulang PVC

Masalah

Setelah PVC dihapus secara tidak sengaja, PV berada dalam status Released dan tidak dapat diikat dengan membuat ulang PVC.

Penyebab

Jika reclaimPolicy PVC adalah Retain, saat PVC dihapus secara tidak sengaja, PV akan berubah menjadi status Released.

Solusi

Hapus bidang pv.spec.claimRef di PV saat ini, lalu ikat ulang menggunakan metode volume statis. Hal ini akan mengubah PV menjadi status Bound.

PV berada dalam status Lost dan tidak dapat diikat dengan membuat ulang PVC

Masalah

Setelah membuat PVC dan PV, PV berada dalam status Lost dan tidak dapat diikat ke PVC.

Penyebab

Nama PVC yang dirujuk oleh claimRef di PV tidak ada, sehingga status PV menjadi Lost.

Solusi

Hapus bidang pv.spec.claimRef di PV saat ini, lalu ikat ulang menggunakan metode volume statis. Hal ini akan mengubah PV menjadi status Bound.

Apakah perubahan pada StorageClass memengaruhi penyimpanan yang sudah ada?

Jika file YAML PVC dan PV tidak berubah, perubahan pada StorageClass tidak akan memengaruhi penyimpanan yang sudah ada. Misalnya, saat memodifikasi bidang ALLOWVOLUMEEXPANSION StorageClass, perubahan tersebut hanya akan berlaku setelah memodifikasi Capacity PVC. Jika file YAML PVC tidak berubah, bidang ini tidak akan memengaruhi konfigurasi yang sudah ada.