全部产品
Search
文档中心

Container Service for Kubernetes:Pemecahan Masalah Penyimpanan

更新时间:Jul 06, 2025

Topik ini menjelaskan prosedur diagnostik untuk penyimpanan dan cara memecahkan masalah pengecualian penyimpanan.

Prosedur Diagnostik

Procedure

  1. Periksa acara pod untuk menentukan apakah pod gagal diluncurkan karena masalah penyimpanan.

    kubectl describe pods <pod-name>

    Jika pod berada dalam status berikut, volume telah dipasang ke pod. Dalam hal ini, pod gagal diluncurkan karena masalah lain, seperti CrashLoopBackOff. Untuk menyelesaikan masalah, submit a ticket. pod

  2. Periksa apakah Plugin Container Storage Interface (CSI) berfungsi dengan normal:

    kubectl get pod -n kube-system |grep csi

    Output yang diharapkan:

    NAME                       READY   STATUS             RESTARTS   AGE
    csi-plugin-***             4/4     Running            0          23d
    csi-provisioner-***        7/7     Running            0          14d
    Catatan

    Jika status pod bukan Running, jalankan perintah kubectl describe pods <pod-name> -n kube-system untuk memeriksa alasan yang menyebabkan kontainer keluar dan lihat acara pod.

  3. Periksa apakah versi Plugin CSI sudah diperbarui.

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

    Output yang diharapkan:

    image: registry.cn-****.aliyuncs.com/acs/csi-plugin:v*****-aliyun

    Untuk informasi lebih lanjut tentang versi CSI terbaru, lihat csi-plugin dan csi-provisioner. Jika kluster Anda menggunakan versi CSI yang lebih lama, upgrade plugin ke versi terbaru.

    Untuk informasi lebih lanjut tentang cara memecahkan kegagalan upgrade plugin volume, lihat Memecahkan Kegagalan Upgrade Komponen.

  4. Memecahkan masalah pending pod.

  5. Memecahkan masalah bahwa status Persistent Volume Claim (PVC) bukan Bound.

  6. Jika masalah masih berlanjut, submit a ticket.

Memecahkan Kegagalan Upgrade Komponen

Jika Anda gagal meng-upgrade komponen csi-provisioner dan csi-plugin, ikuti langkah-langkah berikut untuk memecahkan masalah.

csi-provisioner

  • Secara default, komponen csi-provisioner diterapkan menggunakan Deployment yang membuat dua pod. Pod tidak dapat dijadwalkan ke node yang sama karena mereka saling eksklusif. Jika Anda gagal meng-upgrade komponen, periksa apakah hanya satu node yang tersedia di kluster.

  • Untuk versi 1.14 atau lebih lama, komponen csi-provisioner diterapkan menggunakan StatefulSet. Jika komponen csi-provisioner di kluster Anda diterapkan menggunakan StatefulSet, Anda dapat menjalankan perintah kubectl delete sts csi-provisioner untuk menghapus komponen csi-provisioner saat ini. Kemudian, masuk ke Konsol ACK dan instal ulang komponen csi-provisioner. Untuk informasi lebih lanjut, lihat Kelola Komponen.

csi-plugin

  • Periksa apakah kluster berisi node yang berada dalam status NotReady. Jika node NotReady ada, ACK gagal meng-upgrade DaemonSet yang digunakan untuk menerapkan komponen csi-plugin.

  • Jika Anda gagal meng-upgrade komponen csi-plugin tetapi semua plugin bekerja dengan normal, masalah tersebut mungkin disebabkan oleh kesalahan timeout upgrade. Jika kesalahan timeout terjadi ketika pusat komponen meng-upgrade komponen csi-plugin, pusat komponen secara otomatis mengembalikan upgrade. Untuk menyelesaikan masalah ini, submit a ticket.

Pemecahan Masalah Disk

Penting
  • Untuk memasang disk ke pod, pastikan bahwa disk dan node yang menampung pod berada di wilayah dan zona yang sama. Jika mereka dibuat di wilayah atau zona yang berbeda, Anda gagal memasang disk ke node.

  • Kategori disk yang didukung oleh Elastic Compute Service (ECS) bervariasi berdasarkan jenis instansinya. Untuk informasi lebih lanjut, lihat Ikhtisar Keluarga Instansi.

Status pod bukan Running

Masalah

Status PVC adalah Bound tetapi status pod bukan Running.

Penyebab

  • Tidak ada node yang tersedia untuk penjadwalan.

  • Kesalahan terjadi saat sistem memasang disk.

  • Instansi ECS tidak mendukung tipe disk yang ditentukan.

Solusi

Status PVC bukan Bound

Masalah

Status PVC bukan Bound dan status pod bukan Running.

Penyebab

  • Statis: Selector PVC dan persistent volume (PV) gagal memenuhi kondisi tertentu. Oleh karena itu, PV dan PVC tidak dapat dikaitkan. Misalnya, konfigurasi selector PVC berbeda dengan PV, selector menggunakan nama StorageClass yang berbeda, atau status PV adalah Release.

  • Dinamis: Komponen csi-provisioner gagal membuat disk.

Solusi

  • Statis: Periksa konten YAML yang relevan. Untuk informasi lebih lanjut, lihat Gunakan volume disk yang di-provision secara statis.

    Catatan

    Jika status PV adalah Release, PV tidak dapat digunakan kembali. Anda perlu membuat PV baru untuk menggunakan disk.

  • Dinamis: Jalankan perintah kubectl describe pvc <pvc-name> -n <namespace> untuk melihat acara PVC.

  • Jika kesalahan terjadi saat Anda memanggil API ECS untuk membuat disk, lihat ErrorCode dan pecahkan masalah tersebut. Jika masalah masih berlanjut, submit a ticket.

Pemecahan Masalah NAS

Penting
  • Untuk memasang sistem file NAS ke node, pastikan bahwa node dan sistem file NAS ditempatkan di virtual private cloud (VPC) yang sama. Jika node dan sistem file NAS ditempatkan di VPC yang berbeda, gunakan Cloud Enterprise Network (CEN) untuk menghubungkannya.

  • Anda dapat memasang sistem file NAS ke node yang ditempatkan di zona berbeda dari sistem file NAS.

  • Path tempat sistem file Extreme NAS atau CPFS 2.0 dipasang harus dimulai dengan /share.

Status pod bukan Running

Masalah

Status PVC adalah Bound tetapi status pod bukan Running.

Penyebab

  • fsGroups digunakan saat Anda memasang sistem file NAS. chmod melambat karena banyak file yang perlu ditangani.

  • Port 2049 diblokir dalam aturan grup keamanan.

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

Solusi

  • Periksa apakah fsGroups dikonfigurasi. Jika ya, hapus fsGroups, mulai ulang pod, dan coba pasang sistem file NAS lagi.

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

  • Jika sistem file NAS dan node ditempatkan di VPC yang berbeda, gunakan CEN untuk menghubungkannya.

  • Untuk penyebab lainnya, jalankan perintah kubectl describe pods <pod-name> untuk melihat acara pod.

Status PVC bukan Bound

Masalah

Status PVC bukan Bound dan status pod bukan Running.

Penyebab

  • Statis: Selector PVC dan PV gagal memenuhi kondisi tertentu. Oleh karena itu, PV dan PVC tidak dapat dikaitkan. Misalnya, konfigurasi selector PVC berbeda dengan PV, selector menggunakan nama StorageClass yang berbeda, atau status PV adalah Release.

  • Dinamis: Komponen csi-provisioner gagal memasang sistem file NAS.

Solusi

  • Statis: Periksa konten YAML yang relevan. Untuk informasi lebih lanjut, lihat Pasang volume NAS yang di-provision secara statis.

    Catatan

    Jika status PV adalah Release, PV tidak dapat digunakan kembali. Buat PV baru yang menggunakan sistem file NAS.

  • Dinamis: Jalankan perintah kubectl describe pvc <pvc-name> -n <namespace> untuk melihat acara PVC.

Pemecahan Masalah OSS

Penting
  • Saat Anda memasang bucket OSS ke node, Anda perlu menentukan pasangan AccessKey di PV. Anda dapat menyimpan pasangan AccessKey dalam Secret.

  • Jika bucket OSS dan node dibuat di wilayah yang berbeda, atur Bucket URL ke titik akhir publik dari bucket OSS. Jika bucket OSS dan node dibuat di wilayah yang sama, kami sarankan Anda menggunakan titik akhir internal dari bucket OSS.

Status pod bukan Running

Masalah

Status PVC adalah Bound tetapi status pod bukan Running.

Penyebab

  • fsGroups digunakan saat Anda memasang bucket OSS. chmod melambat karena banyak file yang perlu ditangani.

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

Solusi

  • Periksa apakah fsGroups dikonfigurasi. Jika ya, hapus fsGroups, mulai ulang pod, dan coba pasang bucket OSS lagi.

  • Periksa apakah bucket OSS dan node dibuat di wilayah yang sama. Jika mereka dibuat di wilayah yang berbeda, periksa apakah titik akhir internal dari bucket OSS digunakan. Jika ya, ganti dengan titik akhir publik dari bucket OSS.

  • Untuk penyebab lainnya, jalankan perintah kubectl describe pods <pod-name> untuk melihat acara pod.

Status PVC bukan Bound

Masalah

Status PVC bukan Bound dan status pod bukan Running.

Penyebab

  • Statis: Selector PVC dan PV gagal memenuhi kondisi tertentu. Oleh karena itu, PV dan PVC tidak dapat dikaitkan. Misalnya, konfigurasi selector PVC berbeda dengan PV, selector menggunakan nama StorageClass yang berbeda, atau status PV adalah Release.

  • Dinamis: Komponen csi-provisioner gagal memasang bucket OSS.

Solusi

  • Statis: Periksa konten YAML yang relevan. Untuk informasi lebih lanjut, lihat Pasang volume ossfs 1.0 yang di-provision secara statis.

    Catatan

    Jika status PV adalah Release, PV tidak dapat digunakan kembali. Buat PV baru yang menggunakan bucket OSS.

  • Dinamis: Jalankan perintah kubectl describe pvc <pvc-name> -n <namespace> untuk melihat acara PVC.