Container Intelligence Service mendiagnosis pod menggunakan pemeriksaan berbasis aturan ahli dan model diagnostik berbantuan AI. Ketika sebuah pod tidak normal, mesin diagnostik mengumpulkan data dari node yang terdampak, mengidentifikasi anomali, menjalankan pemeriksaan diagnostik yang telah ditentukan, serta melacak akar penyebabnya—kemudian menampilkan saran perbaikan.
Saat Anda menjalankan diagnostik pod, ACK menyebarkan program pengumpulan data pada setiap node dalam kluster. Program tersebut mengumpulkan versi sistem, status workload, status Docker dan kubelet, serta pesan error penting dari log sistem. Program ini tidak mengumpulkan data bisnis atau informasi sensitif.
Cara kerja
Hasil diagnostik dihasilkan dalam empat tahap:

Identifikasi anomali — Mengumpulkan status node, status pod, dan aliran event kluster, lalu mengidentifikasi anomali.
Pengumpulan data — Mengumpulkan data kontekstual berdasarkan anomali yang terdeteksi: informasi node di Kubernetes, informasi instance ECS, status proses Docker, dan status proses kubelet.
Pemeriksaan item diagnostik — Memeriksa metrik kunci terhadap data yang dikumpulkan. Diagnostik node dikelompokkan ke dalam kategori; setiap kategori mencantumkan item diagnostiknya beserta deskripsi.
Analisis akar penyebab — Menganalisis akar penyebab berdasarkan data yang dikumpulkan dan hasil pemeriksaan, menggunakan mode ahli maupun mode AI.
Hasil diagnostik
Setiap eksekusi diagnostik menghasilkan dua jenis output:
Hasil analisis akar penyebab — Anomali yang terdeteksi, akar penyebab, dan saran perbaikan.
Hasil pemeriksaan item diagnostik — Status lulus/gagal untuk setiap item diagnostik. Hasil ini melengkapi analisis akar penyebab dengan mengungkap isu yang mungkin terlewat hanya dengan pencocokan pola.
Item diagnostik yang tersedia bergantung pada konfigurasi kluster Anda. Item yang ditampilkan pada halaman diagnostik bersifat otoritatif.
Skenario yang didukung
Tabel berikut mencantumkan skenario yang dicakup oleh diagnostik pod dan diagnostik berbantuan AI.
| Kategori | Skenario |
|---|---|
| Diagnostik Pod | Pod tidak diproses oleh scheduler |
| Pod tidak dapat dijadwalkan karena pelanggaran batasan penjadwalan | |
| Pod dijadwalkan tetapi tidak diproses oleh kubelet | |
| Pod menunggu volume mencapai status Ready | |
| Pod dikeluarkan | |
| Pod dievict karena disk space tidak mencukupi | |
| Pod dievict karena memori pada node tidak mencukupi | |
| Pod dievict karena indeks disk tidak mencukupi | |
| Kontainer sandbox dalam pod gagal dimulai | |
| Pod tetap dalam status Terminating | |
| Terjadi error out-of-memory (OOM) pada kontainer dalam pod | |
| Kontainer dalam pod keluar secara tak terduga | |
| Kontainer dalam pod tetap dalam status CrashLoopBackOff | |
| Container dalam Pod belum siap | |
| Pod gagal menarik gambar kontainer | |
| Pod timeout saat menarik gambar kontainer | |
| Diagnostik berbantuan AI | Status pod tidak normal |
| Terjadi error OOM pada pod | |
| Kontainer dalam pod keluar secara tak terduga | |
| Konfigurasi ConfigMap atau Secret tidak valid | |
| Pod gagal dalam pemeriksaan kesehatan | |
| Konfigurasi persistent volume claim (PVC) tidak valid | |
| Terjadi error saat menarik gambar kontainer |
Kategori item diagnostik
Diagnostik pod memeriksa lima kategori komponen:
| Kategori | Apa yang diperiksa |
|---|---|
| Pod | Status pod, penarikan gambar, dan konektivitas jaringan |
| Node | Status node, status jaringan, log kernel, proses kernel, dan ketersediaan layanan |
| NodeComponent | Status komponen node utama, termasuk komponen jaringan (CNI) dan penyimpanan (CSI) |
| ClusterComponent | Ketersediaan server API, layanan DNS, dan status gateway NAT |
| ECSControllerManager | Status instance ECS, koneksi jaringan, sistem operasi, dan I/O disk |
Pod
| Item diagnostik | Apa yang diperiksa | Solusi |
|---|---|---|
| Jumlah restart kontainer | Berapa kali kontainer dalam pod telah direstart | Periksa status pod dan log. Lihat Troubleshooting Pod. |
| Kegagalan unduh gambar kontainer | Apakah pod lain pada node yang sama juga gagal menarik gambar | Periksa status pod dan log. Lihat Troubleshooting Pod. |
| Validitas Secret yang digunakan untuk menarik gambar | Apakah Secret untuk menarik gambar valid | Periksa status pod dan log. Lihat Troubleshooting Pod. |
| Konektivitas antara pod dan pod CoreDNS | Apakah pod dapat menjangkau pod CoreDNS | Periksa konektivitas jaringan antara pod dan pod CoreDNS. |
| Konektivitas antara pod dan Layanan CoreDNS | Apakah pod dapat menjangkau Layanan CoreDNS | Periksa konektivitas jaringan antara pod dan Layanan CoreDNS. |
| Konektivitas antara pod dan server DNS jaringan host | Apakah pod dapat menjangkau server DNS di jaringan host | Periksa konektivitas jaringan antara pod dan server DNS jaringan host. |
| Status D proses kontainer | Apakah proses kontainer terjebak dalam status D (uninterruptible sleep) | Proses dalam status D biasanya menunggu I/O disk. Restart instance ECS. Jika masalah berlanjut, submit a ticket. |
| Inisialisasi pod | Apakah pod telah diinisialisasi | Periksa status pod dan log. Lihat Troubleshooting Pod. |
| Penjadwalan pod | Apakah pod telah dijadwalkan | Periksa status pod dan log. Lihat Troubleshooting Pod. |
Node
Jika masalah berlanjut setelah menerapkan solusi, kumpulkan log node dan submit a ticket.
| Item diagnostik | Apa yang diperiksa | Solusi |
|---|---|---|
| Konektivitas ke server API Kubernetes | Apakah node dapat terhubung ke server API kluster | Periksa konfigurasi kluster. Lihat Troubleshoot kluster ACK. |
| Hang mount AUFS | Apakah terjadi hang mount AUFS | Submit a ticket. |
| Error BufferIOError | Apakah error BufferIOError muncul di kernel node | Submit a ticket. |
| Kebocoran cgroup | Apakah terdapat kebocoran cgroup pada node | Kebocoran cgroup dapat mengganggu pengumpulan data pemantauan dan menyebabkan kegagalan startup kontainer. Masuk ke node dan hapus direktori cgroup. |
| Proses chronyd tidak normal | Apakah proses chronyd berjalan normal | Proses chronyd yang tidak normal memengaruhi sinkronisasi jam sistem. Jalankan systemctl restart chronyd untuk merestart proses. |
| Penarikan gambar oleh containerd | Apakah runtime containerd dapat menarik gambar | Periksa pengaturan jaringan node dan konfigurasi gambar. |
| Status containerd | Apakah containerd sedang berjalan | Submit a ticket. |
| Ketersediaan pod CoreDNS | Apakah node dapat mengakses alamat IP pod CoreDNS | Lihat Apa yang harus dilakukan jika beban kueri DNS tidak seimbang di antara pod CoreDNS?. |
| Status gambar | Apakah gambar rusak | Submit a ticket. |
| Status overlay2 gambar | Apakah sistem file overlay2 dalam gambar rusak | Submit a ticket. |
| Waktu sistem | Apakah waktu sistem benar | Tidak perlu tindakan. |
| Startup kontainer Docker | Apakah kontainer Docker gagal dimulai | Submit a ticket. |
| Penarikan gambar Docker | Apakah node dapat menarik gambar Docker | Periksa pengaturan jaringan node dan konfigurasi gambar. |
| Status Docker | Apakah Docker sedang berjalan | Submit a ticket. |
| Waktu startup dockerd | Waktu startup dockerd | Tidak perlu tindakan. |
| Error hang Docker | Apakah terjadi error hang Docker | Jalankan systemctl restart docker untuk merestart Docker. |
| Keberadaan instance ECS | Apakah instance ECS ada | Periksa status instance ECS. Lihat FAQ tentang node dan kelompok node. |
| Status instance ECS | Status saat ini dari instance ECS | Periksa status instance ECS. Lihat FAQ tentang node dan kelompok node. |
| Error Ext4FsError | Apakah error Ext4FsError muncul di kernel node | Submit a ticket. |
| Sistem file node dalam mode read-only | Apakah sistem file node dalam mode read-only | Sistem file read-only biasanya menunjukkan kegagalan disk dan memblokir operasi tulis. Jalankan fsck untuk memperbaiki sistem file, lalu restart node. |
| Waktu hardware | Apakah waktu hardware dan waktu sistem selaras | Perbedaan lebih dari 2 menit dapat menyebabkan error komponen. Jalankan hwclock --systohc untuk menyelaraskan waktu sistem ke jam hardware. |
| Resolusi DNS | Apakah nama domain dapat diresolusi pada node | Lihat Troubleshooting DNS. |
| Error kernel oops | Apakah terdapat error kernel oops di kernel node | Submit a ticket. |
| Versi kernel | Apakah versi kernel sudah usang | Versi kernel yang usang dapat menyebabkan kegagalan sistem. Perbarui kernel node. Lihat FAQ tentang node dan kelompok node. |
| Ketersediaan DNS | Apakah node dapat mengakses cluster IP layanan kube-dns untuk DNS | Periksa status dan log pod CoreDNS. Lihat Troubleshooting DNS. |
| Status kubelet | Apakah kubelet sedang berjalan | Periksa log kubelet. Lihat Troubleshoot kluster ACK. |
| Waktu startup kubelet | Waktu startup kubelet | Tidak perlu tindakan. |
| Utilisasi CPU | Apakah utilisasi CPU terlalu tinggi | Tidak perlu tindakan. |
| Utilisasi memori | Apakah utilisasi memori terlalu tinggi | Tidak perlu tindakan. |
| Fragmentasi memori | Apakah terdapat fragmen memori pada node | Masuk ke node dan jalankan echo 3 > /proc/sys/vm/drop_caches untuk mengosongkan cache. |
| Memori swap | Apakah memori swap diaktifkan | Memori swap harus dinonaktifkan. Masuk ke node dan nonaktifkan swap. |
| Pemuatan driver VirtIO | Apakah driver VirtIO dimuat pada perangkat jaringan | Periksa error driver VirtIO pada perangkat jaringan. |
| Utilisasi CPU tinggi (mingguan) | Apakah utilisasi CPU konsisten tinggi selama seminggu terakhir | CPU tinggi akibat terlalu banyak pod yang dijadwalkan menyebabkan konflik sumber daya. Tetapkan permintaan dan batas sumber daya yang sesuai untuk menghindari overload node. |
| Alamat IP privat node | Apakah node memiliki alamat IP privat | Jika IP privat hilang, hapus node dari kluster tanpa melepas instance ECS, lalu tambahkan kembali. Lihat Hapus node dan Tambahkan instance ECS yang ada. |
| Utilisasi memori tinggi (mingguan) | Apakah utilisasi memori konsisten tinggi selama seminggu terakhir | Memori tinggi akibat terlalu banyak pod yang dijadwalkan dapat menyebabkan error OOM dan gangguan layanan. Tetapkan permintaan dan batas sumber daya yang sesuai. |
| Status node | Apakah node dalam status Ready | Restart node. Lihat FAQ tentang node dan kelompok node. |
| Kemampuan penjadwalan node | Apakah node tidak dapat dijadwalkan | Jika node di-cordon, periksa konfigurasi penjadwalannya. Lihat Status draining dan penjadwalan node. |
| Error OOM | Apakah error OOM pernah terjadi pada node | Submit a ticket. |
| Konsistensi runtime kontainer | Apakah runtime node sesuai dengan runtime kluster | Lihat Dapatkah saya mengubah runtime kontainer kluster dari containerd ke Docker?. |
| Versi OS (bug yang diketahui) | Apakah versi OS memiliki bug atau masalah stabilitas yang diketahui | Bug OS yang diketahui dapat menyebabkan Docker dan containerd tidak berfungsi. Perbarui versi OS. |
| Akses Internet | Apakah node dapat mengakses internet | Periksa apakah SNAT diaktifkan untuk kluster. Lihat Aktifkan kluster ACK yang ada untuk mengakses internet. |
| Error RCUStallError | Apakah error RCUStallError muncul di kernel node | Submit a ticket. |
| Versi OS | Versi OS yang saat ini digunakan oleh node | Tidak perlu tindakan. |
| Kebocoran proses runc | Apakah terjadi kebocoran proses runc | Kebocoran runc dapat menyebabkan node secara berkala masuk ke status NotReady. Identifikasi proses runc yang bocor dan hentikan secara manual. |
| Error SoftLockupError | Apakah error SoftLockupError muncul di kernel node | Submit a ticket. |
| Hang systemd | Apakah terjadi hang systemd | Jalankan systemctl daemon-reexec untuk merestart systemd. |
| Versi systemd (bug yang diketahui) | Apakah versi systemd memiliki bug yang diketahui | Versi systemd yang usang dapat menyebabkan Docker dan containerd tidak berfungsi. Perbarui systemd. Lihat systemd. |
| Proses hang | Apakah terdapat proses hang pada node | Submit a ticket. |
| Error unregister_netdevice | Apakah error unregister_netdevice muncul di kernel node | Submit a ticket. |
NodeComponent
| Item diagnostik | Apa yang diperiksa | Solusi |
|---|---|---|
| Status komponen CNI | Apakah plugin Container Network Interface (CNI) sedang berjalan | Periksa status komponen jaringan. Lihat FAQ tentang manajemen jaringan. |
| Status komponen CSI | Apakah plugin Container Storage Interface (CSI) sedang berjalan | Periksa status komponen penyimpanan. Lihat FAQ tentang CSI. |
ClusterComponent
| Item diagnostik | Apa yang diperiksa | Solusi |
|---|---|---|
| Versi aliyun-acr-credential-helper | Apakah versi aliyun-acr-credential-helper sudah usang | Perbarui aliyun-acr-credential-helper. Lihat Gunakan aliyun-acr-credential-helper untuk menarik gambar tanpa secret. |
| Ketersediaan Layanan API | Apakah Layanan API kluster tersedia | Jalankan kubectl get apiservice untuk memeriksa ketersediaan. Jika tidak tersedia, jalankan kubectl describe apiservice untuk melihat detail dan mengidentifikasi penyebabnya. |
| Blok CIDR pod yang tersedia | Apakah jumlah blok CIDR pod yang tersedia kurang dari lima (hanya untuk Flannel) | Setiap node memerlukan satu blok CIDR pod. Jika semua blok telah digunakan, node baru tidak dapat bergabung ke kluster. Submit a ticket. |
| Endpoint CoreDNS | Jumlah endpoint CoreDNS aktif | Periksa status dan log pod CoreDNS. Lihat Troubleshooting DNS. |
| Alamat IP cluster CoreDNS | Apakah alamat IP cluster dialokasikan ke pod CoreDNS | IP cluster yang tidak dialokasikan dapat menyebabkan gangguan layanan DNS. Periksa status dan log pod CoreDNS. Lihat Troubleshooting DNS. |
| Status gateway NAT | Status gateway NAT kluster | Masuk ke Konsol Gateway NAT dan periksa apakah gateway dikunci karena pembayaran tertunda. |
| Laju drop koneksi bersamaan gateway NAT | Apakah laju drop koneksi bersamaan pada gateway NAT tinggi | Tingkatkan gateway NAT. Lihat FAQ tentang peningkatan gateway NAT Internet standar ke gateway NAT Internet enhanced. |
ECSControllerManager
| Item diagnostik | Apa yang diperiksa | Solusi |
|---|---|---|
| Pembayaran tertunda komponen instance ECS | Apakah disk atau bandwidth jaringan tidak tersedia karena pembayaran tertunda | Isi ulang akun Anda. |
| Pembayaran tertunda instance ECS | Apakah instance ECS bayar sesuai penggunaan ditangguhkan karena pembayaran tertunda | Isi ulang akun Anda, lalu restart instance. |
| Status NIC instance ECS | Apakah NIC berfungsi | Mulai ulang instance. |
| Status startup instance ECS | Apakah instance dapat boot secara normal | Jika instance tidak dapat boot, buat instance baru. |
| Sistem manajemen backend instance ECS | Apakah sistem manajemen backend berfungsi | Restart instance. |
| Status CPU instance ECS | Apakah terdapat konflik CPU atau kegagalan binding pada lapisan dasar | Konflik CPU dapat mencegah instance mendapatkan waktu CPU. Restart instance. |
| Split lock pada CPU instance ECS | Apakah terjadi split lock pada CPU instance | Lihat Mendeteksi dan menangani split lock. |
| Status mitigasi DDoS | Apakah alamat IP publik instance sedang mengalami serangan DDoS | Beli perlindungan Anti-DDoS tambahan. Lihat Perbandingan solusi Anti-DDoS Alibaba Cloud. |
| Kemampuan baca/tulis cloud disk | Apakah operasi baca/tulis cloud disk dikendalikan alirannya | Pengendalian aliran terjadi ketika IOPS disk mencapai maksimum. Periksa metrik disk. Lihat Kinerja penyimpanan blok. |
| Pemuatan cloud disk | Apakah cloud disk dapat disambungkan selama startup instance | Jika disk gagal disambungkan, hentikan instance dan mulai lagi. |
| Kedaluwarsa instance ECS | Apakah langganan telah kedaluwarsa | Perpanjang instance. Lihat Perpanjang instance langganan. |
| Crash OS instance ECS | Apakah terjadi crash OS dalam 48 jam terakhir | Periksa log sistem untuk mengidentifikasi penyebabnya. Lihat Lihat log sistem dan tangkapan layar. |
| Status host instance ECS | Apakah server fisik yang menjalankan instance mengalami kegagalan | Kegagalan server fisik dapat menurunkan kinerja instance. Restart instance. |
| Pemuatan gambar instance ECS | Apakah instance dapat memuat gambarnya selama inisialisasi | Jika gambar gagal dimuat, restart instance. |
| Hang I/O pada disk sistem | Apakah terjadi hang I/O pada disk sistem instance | Periksa metrik disk. Lihat Lihat data pemantauan cloud disk. Untuk Alibaba Cloud Linux 2, lihat Deteksi hang I/O pada sistem file dan lapisan blok. |
| Batas bandwidth instance ECS | Apakah total bandwidth telah mencapai maksimum tipe instans | Tingkatkan ke tipe instans dengan bandwidth lebih tinggi. Lihat Ikhtisar perubahan konfigurasi instans. |
| Batas bandwidth burst instance ECS | Apakah bandwidth burst melebihi batas tipe instans | Tingkatkan ke tipe instans dengan bandwidth lebih tinggi. Lihat Ikhtisar perubahan konfigurasi instans. |
| Pemuatan NIC instance ECS | Apakah NIC dapat dimuat | Jika NIC gagal dimuat, konektivitas jaringan terpengaruh. Restart instance. |
| Pembentukan sesi NIC | Apakah sesi dapat dibentuk ke NIC | Jika sesi tidak dapat dibentuk atau batas sesi tercapai, konektivitas atau throughput jaringan terpengaruh. Restart instance. |
| Operasi kunci terbaru | Apakah operasi instance terbaru berhasil (start, stop, resize) | Jika operasi gagal, lakukan kembali. |
| Kehilangan paket NIC | Apakah terjadi kehilangan paket inbound atau outbound pada NIC | Mulai ulang instance ini. |
| Degradasi kinerja instance ECS | Apakah kinerja instance sementara menurun karena masalah hardware atau software | Periksa event historis dan log sistem untuk mengidentifikasi penyebabnya. Lihat Lihat event sistem historis. |
| Kinerja instance ECS terkompromi | Apakah instance hanya berjalan pada kinerja dasar karena kredit CPU tidak mencukupi | Isi ulang kredit CPU atau tingkatkan ke tipe instans tanpa batas kredit. |
| Resize disk instance ECS | Apakah disk telah di-resize tetapi sistem file belum diperbarui | Jika sistem file tidak di-resize setelah ekspansi disk, resize disk lagi. |
| Ketersediaan sumber daya instance ECS | Apakah sumber daya CPU dan memori fisik yang cukup tersedia untuk instance | Jika sumber daya tidak mencukupi, instance tidak dapat dimulai. Tunggu beberapa menit lalu coba lagi, atau buat instance di wilayah berbeda. |
| Status OS instance ECS | Apakah terdapat panic kernel, error OOM, atau kegagalan internal di OS | Masalah ini mungkin disebabkan oleh salah konfigurasi atau program pengguna di OS. Restart instance. |
| Status virtualisasi instance ECS | Apakah terdapat pengecualian pada lapisan virtualisasi dasar | Pengecualian virtualisasi dapat menyebabkan instance membeku atau restart secara tak terduga. Restart instance. |