All Products
Search
Document Center

Container Service for Kubernetes:FAQ volume disk

Last Updated:Jun 16, 2026

Selesaikan masalah pembuatan, pemasangan, ekspansi, dan pelepasan volume disk di kluster ACK.

Navigasi FAQ

Type

Masalah

Creation

Mounting

Usage

Expansion

Unmounting

Other

Creation

Kegagalan pembuatan PV dinamis: InvalidDataDiskCatagory.NotSupported

Gejala

Pembuatan PV gagal, dan event PVC menampilkan pesan error InvalidDataDiskCategory.NotSupported.

Penyebab

StorageClass menentukan tipe cloud disk yang tidak tersedia di zona saat ini atau inventaris tidak mencukupi.

Solusi

Kegagalan pembuatan PV dinamis: Inventaris AZone tidak mencukupi

Gejala

Pembuatan PV gagal, dan event PVC menampilkan pesan error The specified AZone inventory is insufficient.

Penyebab

Pembuatan cloud disk gagal karena inventaris tidak mencukupi di zona yang ditentukan.

Solusi

Kegagalan pembuatan PV dinamis: Ukuran disk tidak didukung

Gejala

Pembuatan PV dinamis gagal, dan event PVC menampilkan pesan error disk size is not supported.

Penyebab

PVC menentukan kapasitas yang tidak valid. Batas minimum bervariasi berdasarkan tipe cloud disk.

Solusi

Sesuaikan kapasitas yang dideklarasikan dalam PVC ke nilai yang didukung.

Kegagalan pembuatan PV dinamis: Menunggu konsumen pertama

Gejala

Pembuatan PV gagal saat menggunakan StorageClass dengan mode binding WaitForFirstConsumer, dan event PVC menampilkan pesan error persistentvolume-controller waiting for first consumer to be created before binding.

Penyebab

PVC belum mendeteksi node tempat pod dijadwalkan.

  • Jika Anda secara eksplisit menyetel nodeName dalam file YAML aplikasi, pod melewati penjadwal. Hal ini mencegah PVC menemukan node, sehingga tidak kompatibel dengan mode binding WaitForFirstConsumer.

  • Tidak ada pod yang mereferensikan PVC saat ini.

Solusi

  • Hapus bidang nodeName dari file YAML aplikasi dan gunakan metode penjadwalan lain.

  • Buat pod yang menggunakan PVC saat ini.

Kegagalan pembuatan PV dinamis: Tidak ada kunci topologi pada CSINode

Gejala

Pembuatan PV gagal, dan event PVC menampilkan pesan error no topology key found on CSINode node-XXXX.

Penyebab

  • Penyebab 1: Plug-in CSI pada node node-XXXX gagal memulai.

  • Penyebab 2: Driver yang tidak didukung sistem digunakan untuk pemasangan. Secara default, sistem mendukung driver Disk, NAS, dan OSS.

Solusi

  1. Periksa status pod.

    kubectl get pods -n kube-system -o wide | grep node-XXXX
    • Status abnormal: Periksa log error dengan kubectl logs csi-plugin-xxxx -nkube-system -c csi-plugin. Ini biasanya disebabkan oleh konflik port node. Atasi sebagai berikut:

      • Tutup proses yang menggunakan port tersebut.

      • Tambahkan variabel lingkungan SERVICE_PORT ke plug-in CSI untuk menentukan port baru.

        kubectl set env -n kube-system daemonset/csi-plugin --containers="csi-plugin" SERVICE_PORT="XXX"
    • Jika status normal, lanjutkan ke langkah berikutnya.

  2. Gunakan driver sistem default, seperti Disk, NAS, atau OSS. Lihat dokumentasi Penyimpanan.

Kegagalan pembuatan PV dinamis: selfLink kosong

Gejala

Pembuatan PV gagal, dan event PVC menampilkan pesan error selfLink was empty, can't make reference.

Penyebab

  1. Versi kluster dan versi plug-in CSI tidak cocok.

  2. Kluster menggunakan plug-in penyimpanan FlexVolume.

Solusi

  1. Upgrade versi plug-in CSI. Versi plug-in harus kompatibel dengan versi kluster. Misalnya, kluster Kubernetes 1.20 memerlukan CSI versi 1.20 atau lebih baru.

  2. Jika kluster Anda menggunakan plug-in penyimpanan FlexVolume, lihat Migrasi dari FlexVolume ke CSI.

Kegagalan pembuatan PV dinamis: Kapasitas PVC < 20 GiB

StorageClass ACK default (misalnya, alicloud-disk-topology-alltype, alicloud-disk-essd) memerlukan kapasitas minimum 20 GiB. Untuk volume yang lebih kecil, buat StorageClass kustom dengan tipe disk yang mendukung kapasitas lebih rendah, seperti ESSD AutoPL atau ESSD PL0.

Mounting

Kegagalan startup pod: Konflik afinitas node volume

Gejala

Pod dengan cloud disk yang dipasang gagal memulai, dan event pod menampilkan pesan error had volume node affinity conflict.

Penyebab

Setiap PV memiliki properti nodeaffinity. Error ini terjadi ketika nodeaffinity PV bertentangan dengan nodeaffinity pod, sehingga mencegah penjadwalan.

Solusi

Pastikan nodeaffinity PV dan nodeaffinity pod konsisten.

Kegagalan startup pod: Tidak dapat menemukan disk

Gejala

Pod dengan cloud disk yang dipasang gagal memulai, dan event pod menampilkan pesan error can't find disk.

Penyebab

  • Anda mengonfigurasi PV dengan ID cloud disk yang salah atau ID cloud disk dari wilayah lain.

  • Akun Anda tidak memiliki izin untuk mengakses cloud disk, kemungkinan karena milik akun lain.

Solusi

  • Jika Anda menggunakan cloud disk yang disediakan secara statis, periksa apakah memenuhi persyaratan berikut:

    • Wilayah cloud disk sama dengan wilayah kluster.

    • ID cloud disk benar.

    • Cloud disk dan kluster dimiliki oleh Akun Alibaba Cloud yang sama.

  • Jika cloud disk dipasang secara dinamis, periksa izin plug-in CSI.

    Periksa apakah Addon Token ada di kluster.

    • Jika Addon Token ada, periksa versi plug-in CSI di kluster, upgrade plug-in ke versi terbaru, lalu coba lagi.

    • Jika Addon Token tidak ada, AccessKey kustom dari role RAM worker node digunakan secara default. Anda perlu memeriksa izin kebijakan RAM yang sesuai.

Kegagalan startup pod: Tindakan attach sedang berlangsung

Gejala

Pod dengan cloud disk yang dipasang menampilkan Previous attach action is still in process tetapi berhasil memulai setelah beberapa detik.

Penyebab

Instans ECS hanya dapat menyambungkan satu cloud disk dalam satu waktu. Ketika beberapa pod yang menggunakan disk ditempatkan pada host yang sama, disk disambungkan secara berurutan. Pesan ini berarti proses penyambungan lain sedang berlangsung.

Solusi

Tidak perlu tindakan apa pun. Sistem akan mencoba ulang secara otomatis.

Kegagalan startup pod: InvalidInstanceType.NotSupportDiskCategory

Gejala

Saat Anda memulai pod dengan cloud disk yang dipasang, pesan error InvalidInstanceType.NotSupportDiskCategory ditampilkan.

Penyebab

Pod dijadwalkan ke node ECS yang tipe instansnya tidak mendukung tipe cloud disk ini.

Solusi

Coba salah satu solusi berikut:

  • Verifikasi bahwa kluster memiliki node ECS yang tipe instansnya mendukung tipe cloud disk ini, dan pod dapat dijadwalkan ke sana.

  • Jika tidak ada tipe instans node yang mendukung tipe cloud disk ini, ganti ke tipe disk yang kompatibel.

Catatan

Untuk kompatibilitas cloud disk dan tipe instans, lihat Famili instans.

Kegagalan startup pod: Driver CSI tidak terdaftar

Gejala

Saat Anda memulai pod, peringatan berikut ditampilkan.

Warning  FailedMount       98s (x9 over 3m45s)  kubelet, cn-zhangjiakou.172.20.XX.XX  MountVolume.MountDevice failed for volume "d-xxxxxxx" : kubernetes.io/csi: attacher.MountDevice failed to create newCsiDriverClient: driver name diskplugin.csi.alibabacloud.com not found in the list of registered CSI drivers

Penyebab

  • Ini biasanya terjadi pada node baru di mana pod aplikasi mencoba memasang volume sebelum plug-in CSI yang berjalan bersamaan selesai mendaftar.

  • Plug-in CSI pada node gagal mendaftar, kemungkinan karena kegagalan startup.

Solusi

  • Pada node yang baru ditambahkan, tidak perlu tindakan apa pun. Sistem akan mencoba ulang secara otomatis.

  • Jika plug-in CSI gagal mendaftar, periksa status dan log-nya. Jika plug-in normal, bergabunglah dengan grup pengguna DingTalk (ID: 35532895) untuk bantuan.

Kegagalan startup pod: Error Multi-Attach

Gejala

Pod yang memasang cloud disk menampilkan warning failedAttachVolume xxx xxx Multi-Attach error for volume "xxx" dalam event. Menjalankan kubectl describe pvc <pvc-name> mengungkapkan beberapa pod yang mereferensikan PVC yang sama.

Penyebab

  • Penyebab 1: Tanpa multi-attach diaktifkan, cloud disk hanya dapat dipasang ke satu pod.

  • Penyebab 2: Pod yang menggunakan PVC telah dihapus, tetapi cloud disk tidak dilepas dengan benar.

    Di Konsol ECS, temukan node tempat cloud disk PVC disambungkan. Periksa log pod plug-in CSI pada node tersebut. Jika Anda melihat Path is mounted, no remove: /var/lib/kubelet/plugins/kubernetes.io/csi/diskplugin.csi.alibabacloud.com/xxx/globalmount, verifikasi bahwa plug-in CSI secara langsung memasang HostPath /var/run:

    kubectl get ds -n kube-system csi-plugin -ojsonpath='{.spec.template.spec.volumes[?(@.hostPath.path=="/var/run/")]}'

    Output yang tidak kosong mengonfirmasi masalah ini.

Solusi

  • Solusi untuk Penyebab 1:

    Pastikan hanya satu pod yang mereferensikan PVC.

  • Solusi untuk Penyebab 2:

    Perbaiki manual file YAML plug-in CSI:

    kubectl patch -n kube-system daemonset csi-plugin -p '
    spec:
      template:
        spec:
          containers:
            - name: csi-plugin
              volumeMounts:
                - mountPath: /host/var/run/efc
                  name: efc-metrics-dir
                - mountPath: /host/var/run/ossfs
                  name: ossfs-metrics-dir
                - mountPath: /host/var/run/
                  $patch: delete
          volumes:
            - name: ossfs-metrics-dir
              hostPath:
                path: /var/run/ossfs
                type: DirectoryOrCreate
            - name: efc-metrics-dir
              hostPath:
                path: /var/run/efc
                type: DirectoryOrCreate
            - name: fuse-metrics-dir
              $patch: delete'

Kegagalan startup pod: Timeout pemasangan

Gejala

Anda memulai pod yang memiliki volume yang dipasang, dan event pod menampilkan pesan error Unable to attach or mount volumes: unmounted volumes=[xxx], unattached volumes=[xxx]: timed out waiting for the condition.

Penyebab

Event ini adalah pesan error yang dilaporkan oleh kubelet. Kubelet secara berkala memeriksa apakah volume yang digunakan oleh pod di semua node dalam keadaan Ready. Jika volume tidak Ready, pesan error di atas ditampilkan.

Event ini menunjukkan pemasangan belum selesai pada saat pemeriksaan. Kemungkinan penyebab:

  • Penyebab 1: Terjadi error pemasangan, tetapi event detail telah ditimpa. Hanya event error kubelet yang tersisa.

  • Penyebab 2: Kubelet mengalami timeout saat mengambil configmap/serviceaccount defaulttoken. Ini adalah masalah jaringan node. Anda harus mencoba lagi di node berbeda.

  • Penyebab 3: Saat securityContext.fsGroup disetel, kubelet secara rekursif mengubah kepemilikan semua file selama pemasangan. Ini lambat untuk volume dengan banyak file.

  • Penyebab 4: Untuk volume yang disediakan secara statis, verifikasi bahwa bidang driver benar (tidak ada kesalahan pengetikan). Nama driver yang salah mencegah volume menjadi Ready.

Solusi

  • Solusi untuk Penyebab 1: Mulai ulang pod dengan menghapusnya. Temukan dan diagnosa event error yang sebenarnya.

  • Solusi untuk Penyebab 2: Jadwalkan ulang pod ke node lain. Lihat Jadwalkan aplikasi ke node tertentu.

  • Solusi untuk Penyebab 3: Untuk kluster versi 1.20+, setel fsGroupChangePolicy ke OnRootMismatch. Ini membatasi perubahan kepemilikan rekursif hanya pada pemasangan pertama ketika izin direktori root berbeda, sehingga menormalkan waktu pemasangan untuk restart pod berikutnya. Untuk informasi lebih lanjut tentang parameter fsGroupChangePolicy, lihat Konfigurasikan Konteks Keamanan untuk Pod atau Kontainer. Jika tidak cukup, gunakan initContainer untuk penyesuaian izin.

  • Solusi untuk Penyebab 4: Periksa dan tentukan nama driver yang benar. Contoh:

    • diskplugin.csi.alibabacloud.com

    • nasplugin.csi.alibabacloud.com

    • ossplugin.csi.alibabacloud.com

Kegagalan startup pod: Format perangkat NVMe tidak valid

Gejala

Pod dengan cloud disk yang dipasang gagal memulai, dan event pod menampilkan pesan error validate error Device /dev/nvme1n1 has error format more than one digit locations.

Penyebab

Node adalah tipe instans berbasis NVMe (seperti g7se, r7se, c7se, atau ECS generasi ke-8), tetapi versi kluster dan plug-in CSI terlalu lama untuk mendukungnya.

Solusi

Pastikan kluster ACK Anda versi 1.20+ dan upgrade plug-in CSI ke v1.22.9-30eb0ee5-aliyun atau lebih baru. Lihat Kelola komponen.

Catatan

Plug-in FlexVolume tidak didukung. Bergabunglah dengan grup pengguna DingTalk (ID: 35532895) untuk bantuan migrasi dari plug-in FlexVolume ke plug-in CSI.

Kegagalan startup pod: Konflik tugas ECS

Gejala

Pod dengan cloud disk yang dipasang gagal memulai, dan event pod menampilkan pesan error ecs task is conflicted.

Penyebab

Beberapa tugas ECS harus dilakukan secara berurutan. Ketika beberapa permintaan dikirim ke ECS secara bersamaan, terjadi error konflik tugas ECS.

Solusi

Solusi:

Kegagalan startup pod: Sistem file rusak

Gejala

Pod dengan cloud disk yang dipasang gagal memulai, dan event pod menampilkan pesan error berikut.

wrong fs type, bad option, bad superblock on /dev/xxxxx  missing codepage or helper program, or other error

Penyebab

Cloud disk tidak dapat dipasang karena sistem file-nya rusak.

Solusi

Hal ini biasanya disebabkan oleh pelepasan yang tidak tepat. Untuk mengatasi:

  1. Verifikasi bahwa aplikasi memenuhi persyaratan berikut:

    • Tidak lebih dari satu pod yang memasang cloud disk yang sama.

    • Jangan menulis data selama proses pelepasan disk.

  2. Login ke host pod dan jalankan fsck -y /dev/xxxxx untuk memperbaiki sistem file.

    Ganti /dev/xxxxx dengan path perangkat dari event pod. Perbaikan memodifikasi metadata sistem file. Jika perbaikan gagal, sistem file menjadi rusak permanen.

Kegagalan startup pod: Melebihi jumlah volume maksimum

Gejala

Pod dengan cloud disk yang dipasang tetap dalam status Pending dan tidak dapat dijadwalkan, meskipun tipe instans ECS memungkinkan lebih banyak penyambungan disk:

0/1 nodes are available: 1 node(s) exceed max volume count.

Penyebab

Penjadwalan dibatasi oleh variabel lingkungan MAX_VOLUMES_PERNODE.

Solusi

  • Plug-in CSI v1.26.4-e3de357-aliyun+ mendukung konfigurasi jumlah disk otomatis. Hapus variabel lingkungan MAX_VOLUMES_PERNODE dari DaemonSet plug-in CSI di kube-system untuk mengaktifkan konfigurasi otomatis berdasarkan tipe instans ECS:

    kubectl patch -n kube-system daemonset csi-plugin -p '
    spec:
      template:
        spec:
          containers:
          - name: csi-plugin
            env:
            - name: MAX_VOLUMES_PERNODE
              $patch: delete'
  • Untuk versi plug-in CSI sebelum v1.26.4-e3de357-aliyun, atur manual variabel lingkungan ini berdasarkan node dengan jumlah disk data yang dapat disambungkan paling sedikit.

Penting
  • Konfigurasi otomatis hanya berjalan saat startup pod plug-in CSI. Jika Anda secara manual menyambungkan atau melepas disk data, buat ulang pod plug-in CSI pada node tersebut untuk memicu ulang.

  • Konfigurasi otomatis tidak memperhitungkan volume disk yang disediakan secara statis. Jika ada, jumlah pod yang dapat dijadwalkan mungkin lebih rendah dari yang diharapkan.

Kegagalan startup pod: Batas disk instans tercapai

Gejala

Pod dengan cloud disk yang dipasang tetap dalam status ContainerCreating. Event pod:

MountVolume.MountDevice failed for volume "d-xxxx" : rpc error: code = Aborted desc = NodeStageVolume: Attach volume: d-xxxx with error: rpc error: code = Internal desc = SDK.ServerError
ErrorCode: InstanceDiskLimitExceeded
Message: The amount of the disk on instance in question reach its limits

Penyebab

Nilai variabel lingkungan MAX_VOLUMES_PERNODE terlalu tinggi.

Solusi

  • Plug-in CSI v1.26.4-e3de357-aliyun+ mendukung konfigurasi jumlah disk otomatis. Hapus variabel lingkungan MAX_VOLUMES_PERNODE dari DaemonSet plug-in CSI di kube-system untuk mengaktifkan konfigurasi otomatis berdasarkan tipe instans ECS:

    kubectl patch -n kube-system daemonset csi-plugin -p '
    spec:
      template:
        spec:
          containers:
          - name: csi-plugin
            env:
            - name: MAX_VOLUMES_PERNODE
              $patch: delete'
  • Untuk versi plug-in CSI sebelum v1.26.4-e3de357-aliyun, atur manual variabel lingkungan ini berdasarkan node dengan jumlah disk data yang dapat disambungkan paling sedikit.

Penting
  • Konfigurasi otomatis hanya berjalan saat startup pod plug-in CSI. Jika Anda secara manual menyambungkan atau melepas disk data, buat ulang pod plug-in CSI pada node tersebut untuk memicu ulang.

  • Konfigurasi otomatis tidak memperhitungkan volume disk yang disediakan secara statis. Jika ada, jumlah pod yang dapat dijadwalkan mungkin lebih rendah dari yang diharapkan.

OperationDenied.HpnZoneMismatch error pada node Lingjun

Cloud disk tidak memiliki tag attachToHpnZone:XX yang diperlukan untuk node Lingjun. Tag ini hanya dapat ditambahkan saat pembuatan disk. Buat cloud disk baru dengan tag tersebut.

  1. Buka Konsol ECS - Penyimpanan Blok - Disk.

  2. Tambahkan tag berikut selama pembuatan (tidak dapat ditambahkan nanti):

    • createdByProduct:eflo

    • attachToHpnZone:XX (Ganti XX dengan HpnZone yang sebenarnya. Anda dapat menjalankan perintah untuk menanyakan node guna mendapatkan HpnZone.)

    Lihat Buat disk data kosong.

  3. Hapus PV dan PVC lama, lalu buat yang baru dengan cloud disk pengganti. Lihat Gunakan volume disk yang disediakan secara statis atau Gunakan volume disk yang disediakan secara dinamis.

Ubah konfigurasi StorageClass default

StorageClass default tidak dapat diubah.

Setelah instalasi csi-provisioner, StorageClass default (misalnya, alicloud-disk-topology-alltype) dibuat. Jangan modifikasi StorageClass default. Buat StorageClass baru dengan tipe volume atau kebijakan reclaim yang Anda inginkan sebagai gantinya.

Gunakan satu volume disk untuk beberapa aplikasi

Cloud disk menyediakan penyimpanan non-bersama. Tanpa multi-attach diaktifkan, cloud disk hanya dapat dipasang ke satu pod. Lihat Aktifkan multi-attach berbasis NVMe untuk cloud disk dan konfigurasikan reservasi.

Usage

Error I/O aplikasi pada volume disk

Gejala

Cloud disk dipasang secara normal dan aplikasi dimulai, tetapi segera setelah itu melaporkan input/output error.

Penyebab

Cloud disk yang digunakan oleh aplikasi telah dilepas atau dihapus.

Solusi

Periksa status cloud disk dan ambil tindakan berdasarkan status tersebut.

  1. Identifikasi PVC dari definisi VolumeMount pod untuk direktori mount yang terpengaruh.

  2. Jalankan kubectl get pvc <pvc-name> untuk memeriksa status PVC dan catat PV yang terikat.

  3. Dapatkan ID cloud disk dari bidang volumeHandle dalam YAML PV.

  4. Di halaman EBS Konsol ECS, periksa status cloud disk berdasarkan ID cloud disk.

    • Jika cloud disk berstatus Available, artinya telah dilepas. Mulai ulang pod untuk memasang kembali.

      Catatan

      Pod berstatus Running, artinya disk dipasang lalu dilepas, kemungkinan karena beberapa pod mereferensikan disk yang sama. Jalankan kubectl describe pvc <pvc-name> dan periksa UsedBy untuk mengonfirmasi.

    • Jika cloud disk tidak ditemukan, artinya telah dirilis dan tidak dapat dipulihkan.

      Penting

      Saat memasang ESSD, gunakan snapshot otomatis untuk melindungi data volume disk. Lihat Kehilangan data akibat penghapusan cloud disk yang tidak terduga.

Atur izin pengguna untuk direktori mount

Anda tidak dapat mengatur izin akses pengguna untuk cloud disk. Jika perlu mengatur izin akses pengguna untuk direktori mount, konfigurasikan securityContext untuk pod saat membuat aplikasi guna memodifikasi izin. Untuk informasi lebih lanjut, lihat Konfigurasikan Kebijakan Izin dan Perubahan Kepemilikan Volume untuk Pod.

Penting
  • Saat Anda mengonfigurasi securityContext.fsgroup, kubelet secara rekursif mengubah izin file (chmod/chown) saat memasang volume. Hal ini dapat meningkatkan waktu pemasangan secara signifikan untuk volume dengan banyak file.

    Untuk kluster versi 1.20 atau lebih baru, kami merekomendasikan menyetel fsGroupChangePolicy ke OnRootMismatch. Ini mengoptimalkan kinerja pemasangan dengan hanya melakukan perubahan izin rekursif saat volume dipasang pertama kali dan izin direktori root tidak cocok. Jika kinerja masih menjadi masalah atau Anda memerlukan kontrol izin yang lebih granular, gunakan initContainer untuk mengelola izin sebelum kontainer aplikasi dimulai.

  • Saat Pod dibuat ulang, Pod tersebut memasang kembali cloud disk asli. Jika kendala lain mencegah Pod dijadwalkan ke zona asli, Pod akan tetap dalam status Pending karena tidak dapat memasang cloud disk.

Expansion

Ekspansi volume disk otomatis

Volume disk tidak diekspansi secara otomatis. Untuk mengekspansi, perbarui kapasitas penyimpanan PVC. Lihat Ekspansi online volume disk.

Untuk mengaktifkan ekspansi otomatis, gunakan CRD untuk mengekspansi volume saat penggunaan melebihi ambang batas. Lihat Konfigurasikan ekspansi otomatis.

Catatan

Untuk kluster sebelum 1.16, atau ketika persyaratan ekspansi online tidak terpenuhi (misalnya, disk dasar), ekspansi cloud disk secara langsung di Konsol ECS. Sumber daya kluster tidak terpengaruh — kapasitas PVC dan PV tetap pada ukuran sebelum ekspansi.

Kegagalan ekspansi disk: Menunggu pengguna memulai ulang pod

Gejala

Setelah memperbarui kapasitas penyimpanan PVC, bidang StorageCapacity di Status PVC tidak berubah, dan event PVC melaporkan:

 Waiting for user to (re-)start a pod to finish file system resize of volume on node.

Penyebab

Ekspansi cloud disk memiliki dua langkah: ekspansi kapasitas disk melalui API ResizeDisk, lalu ekspansi sistem file. Error ini berarti langkah pertama berhasil tetapi langkah kedua gagal, menunjukkan masalah di tingkat node.

Solusi

Tentukan tipe node saat ini.

  • Jika node adalah ECI, jalankan kubectl get configmap -n kube-system eci-profile -o jsonpath="{.data.enablePVCController}" dan verifikasi nilainya adalah true. Lihat parameter konfigurasi eci-profile.

    Jika masalah berlanjut, kirim tiket untuk bantuan.

  • Jika node adalah ECS, jalankan kubectl get pods -n kube-system -l app=csi-plugin --field-selector=spec.nodeName=<node-name> untuk memeriksa status plug-in CSI.

    • Jika plug-in CSI normal, bergabunglah dengan grup pengguna DingTalk (ID: 35532895) untuk bantuan.

    • Jika abnormal, mulai ulang pod plug-in CSI dan coba lagi. Jika masalah berlanjut, bergabunglah dengan grup pengguna DingTalk (ID: 35532895) untuk bantuan.

Kegagalan ekspansi disk: PVC statis atau ekspansi tidak diizinkan

Gejala

Setelah memperbarui kapasitas penyimpanan PVC, error berikut dilaporkan:

only dynamically provisioned pvc can be resized and the storageclass that provisions the pvc must support resize 

Penyebab

  • Penyebab 1: PVC dan PV volume disk dibuat secara manual dengan cara statis. Parameter storageClassName dalam PVC tidak ditentukan, atau tidak ada StorageClass dengan nama yang ditentukan di kluster.

  • Penyebab 2: Dalam StorageClass yang direferensikan oleh PVC, parameter allowVolumeExpansion disetel ke false. Ekspansi tidak didukung.

Solusi

  • Solusi untuk Penyebab 1: Periksa konfigurasi storageClassName PVC dan pastikan StorageClass dengan nama yang sama ada di kluster. Jika tidak, buat StorageClass yang sesuai berdasarkan properti volume disk yang ada dan konfigurasikan allowVolumeExpansion: true.

  • Solusi untuk Penyebab 2: StorageClass bersifat immutable. Buat StorageClass baru dengan parameter allowVolumeExpansion disetel ke true. Kemudian, modifikasi PVC untuk mereferensikan StorageClass baru sebelum mengekspansi PVC.

Unmounting

Kegagalan penghapusan pod: Bukan disk portabel

Gejala

Saat Anda melepas cloud disk, pesan error The specified disk is not a portable disk ditampilkan.

Penyebab

Metode penagihan cloud disk adalah subscription. Hal ini mungkin terjadi karena membeli disk subscription atau mengubah metode penagihan saat meningkatkan instans ECS.

Solusi

Ubah metode penagihan cloud disk ke pay-as-you-go.

Kegagalan penghapusan pod: Pelepasan gagal karena pod yatim

Gejala

Pelepasan pod gagal, dan log kubelet menunjukkan pod yatim yang tidak dikelola oleh ACK.

Penyebab

Pod berhenti secara abnormal, meninggalkan titik mount volume yatim. Di Kubernetes sebelum 1.22, GC volume kubelet tidak lengkap, sehingga memerlukan pembersihan manual.

Solusi

Jalankan skrip berikut pada node bermasalah untuk membersihkan titik mount sampah.

wget https://raw.githubusercontent.com/AliyunContainerService/kubernetes-issues-solution/master/kubelet/kubelet.sh
sh kubelet.sh

Kegagalan restart pod: Kegagalan mount yang tidak dapat dipulihkan

Gejala

Setelah dihapus, pod tidak dapat memulai ulang dan melaporkan kegagalan mount yang tidak dapat dipulihkan:

Warning FailedMount 9m53s (x23 over 40m) kubelet MountVolume.SetUp failed for volume “xxxxx” : rpc error: code = Internal desc = stat /var/lib/kubelet/plugins/kubernetes.io/csi/pv/xxxxx/globalmount: no such file or directory

Lingkup

  • Versi kluster ACK adalah 1.20.4-aliyun-1.

  • Aplikasi menggunakan cloud disk sebagai media penyimpanan.

  • StatefulSet digunakan dan properti podManagementPolicy: "Parallel" disetel.

Penyebab

Lihat Pod gagal memulai setelah restart cepat.

Solusi

  • Tambahkan node baru dan hapus yang lama. Pod yang bermasalah pulih secara otomatis. Lihat Buat dan kelola kelompok node dan Hapus node.

  • Ubah podManagementPolicy StatefulSet ke OrderedReady atau hapus bidang podManagementPolicy: "Parallel".

  • Untuk kluster kecil:

    1. Tandai node pod sebagai tidak dapat dijadwalkan dengan cordon.

    2. Hapus pod dan tunggu statusnya menjadi Pending.

    3. Hapus cordon dari node dan tunggu pod memulai ulang.

  • Untuk kluster besar, pod pulih setelah dijadwalkan ke node berbeda.

Kegagalan penghapusan pod: Target sedang digunakan

Gejala

Saat menghapus pod, event pod atau log kubelet (/var/log/messages) menunjukkan:

unmount failed, output <mount-path> target is busy

Penyebab

Proses masih menggunakan perangkat. Login ke host untuk mengidentifikasi dan menghentikan proses tersebut.

Solusi

  1. Temukan perangkat blok di bawah path mount yang sesuai.

    mount | grep <mount-path>
    /dev/vdtest <mount-path>
  2. Temukan ID proses yang menggunakan perangkat blok.

    fuser -m /dev/vdtest
  3. Hentikan proses tersebut.

    Cloud disk akan dilepas secara otomatis setelah proses dihentikan.

Cloud disk tetap ada setelah penghapusan PVC

Gejala

PVC dihapus, tetapi cloud disk tetap ada di Konsol ECS.

Penyebab

  • Penyebab 1: reclaimPolicy PV adalah Retain, sehingga PV dan cloud disk tetap ada setelah penghapusan PVC.

  • Penyebab 2: PVC dan PV dihapus secara bersamaan, atau PV dihapus sebelum PVC.

Solusi

  • Solusi untuk Penyebab 1: Dengan reclaimPolicy disetel ke Retain, CSI tidak menghapus PV atau cloud disk saat PVC dihapus. Hapus secara manual.

  • Solusi untuk Penyebab 2: Jika PV memiliki deleteTimestamp annotation, CSI tidak akan mereklaim cloud disk. Lihat controller. Hapus PVC saja — PV yang terikat akan dibersihkan secara otomatis.

PVC tetap ada setelah penghapusan

Gejala

Penghapusan PVC gagal bahkan dengan flag --force.

Penyebab

Pod masih menggunakan PVC, sehingga finalizer-nya mencegah penghapusan.

Solusi

  1. Lihat pod yang mereferensikan PVC.

    kubectl describe pvc <pvc-name> -n kube-system
  2. Konfirmasi bahwa pod yang mereferensikan tidak lagi digunakan, hapus pod tersebut, lalu coba hapus PVC lagi.

Other

Ubah metode penagihan volume ke subscription

Cloud disk yang digunakan sebagai volume harus menggunakan metode penagihan pay-as-you-go dan tidak dapat dikonversi ke subscription.

Identifikasi cloud disk untuk volume di Konsol ECS

Dapatkan ID cloud disk (format d-********) dan temukan di halaman EBS di Konsol ECS untuk mengidentifikasi cloud disk yang terkait.

  • Untuk PV yang dibuat secara dinamis, nama PV adalah ID cloud disk. Lihat di halaman Volumes > Persistent Volumes kluster.

  • Jika nama PV bukan ID cloud disk, jalankan kubectl get pv <pv-name> -o yaml. Bidang volumeHandle berisi ID cloud disk.