All Products
Search
Document Center

Container Service for Kubernetes:Diagnostik jaringan

Last Updated:Mar 26, 2026

Ketika koneksi jaringan gagal di kluster ACK Anda, menemukan hop yang bermasalah biasanya memerlukan pemahaman mendalam tentang jaringan kontainer, plugin jaringan, dan routing tingkat kernel. Diagnostik Jaringan menghilangkan hambatan tersebut: cukup tentukan alamat sumber, alamat tujuan, port, dan protokol, lalu ACK secara otomatis melacak jalur paket, memeriksa setiap hop untuk kesalahan konfigurasi, serta menyoroti masalah beserta solusi yang disarankan.

Penting

Saat menjalankan diagnosis, ACK akan men-deploy program pengumpulan data di setiap node untuk mengumpulkan informasi tingkat sistem, seperti versi sistem, beban, Docker, dan Kubelet. Program ini tidak mengumpulkan informasi bisnis atau data sensitif.

Skenario yang didukung

Diagnostik Jaringan mendukung skenario berikut. Identifikasi situasi Anda, lalu ikuti panduan parameter yang sesuai di Parameter berdasarkan skenario.

  • Konektivitas pod-ke-pod atau pod-ke-node — diagnosa jalur jaringan langsung antar pod atau antara pod dan node.

  • Pod atau node ke Service — verifikasi apakah pod atau node dapat mencapai Service Kubernetes dan periksa konfigurasi jaringan Service tersebut.

  • Resolusi DNS — periksa apakah sebuah pod dapat mencapai Service kube-dns di namespace kube-system.

  • Pod atau node ke Internet — diagnosa konektivitas arah keluar dari pod atau node ke alamat IP publik.

  • Internet ke LoadBalancer Service — diagnosa konektivitas arah masuk ke LoadBalancer Service yang diekspos melalui instans Classic Load Balancer (CLB).

Cara kerja

Diagnostik Jaringan melacak jalur paket antara sumber dan tujuan, memeriksa setiap hop untuk kesalahan konfigurasi. Diagnosis berjalan dalam empat tahap:

Network diagnostics architecture
  1. Membangun topologi — fitur ini memetakan jalur jaringan menggunakan informasi dari kluster, termasuk pod, node, Service, dan kebijakan jaringan.

  2. Mengumpulkan status runtime — mengumpulkan informasi stack jaringan dan infrastruktur dari node dan kontainer yang relevan.

  3. Meniru rute — menjalankan perintah pada instans Elastic Compute Service (ECS) atau men-deploy pod collector untuk mengumpulkan detail stack jaringan (perangkat jaringan, sysctl, iptables, IPVS) dan informasi lapisan cloud (tabel rute, security group, gateway NAT). Fitur ini kemudian mensimulasikan alur paket yang diharapkan dan membandingkannya dengan konfigurasi aktual.

  4. Menampilkan anomali — hop yang abnormal disorot dalam tampilan topologi, lengkap dengan deskripsi masalah dan solusi yang disarankan.

Diagnostik Jaringan dibangun di atas KubeSkoop, sebuah alat diagnostik jaringan Kubernetes open source yang mendukung berbagai plugin jaringan dan penyedia Infrastruktur sebagai Layanan (IaaS), serta menggunakan Extended Berkeley Packet Filter (eBPF) untuk memantau jalur paket tingkat kernel. Untuk pemantauan dan analisis mendalam di luar diagnosis, lihat Gunakan ACK Net Exporter untuk mengatasi masalah jaringan.

Batasan

  • Pod yang akan didiagnosis harus berada dalam status Running.

  • Untuk skenario Internet-ke-LoadBalancer, hanya instans CLB Lapisan 4 yang didukung, dan LoadBalancer Service tidak boleh memiliki lebih dari 10 pod backend.

  • Kluster ACK Serverless dan node virtual tidak mendukung Diagnostik Jaringan.

Jalankan diagnosis

Sebelum memulai: Anda harus memiliki kluster ACK yang dikelola.

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

  2. Di halaman Clusters, klik nama kluster yang ingin Anda diagnosa. Di panel navigasi sebelah kiri, pilih Inspections and Diagnostics > Diagnostics.

  3. Di halaman Diagnosis, klik Network diagnosis. Di halaman Network diagnosis, klik Diagnosis.

  4. Di panel Network, isi Source address, Destination address, Destination port, dan Protocol. Untuk nilai parameter, lihat Parameter berdasarkan skenario. Baca peringatan tersebut, pilih I know and agree, lalu klik Create diagnosis.

    Network diagnosis panel

  5. Pada halaman Diagnosis result, tinjau hasil diagnosis. Bagian Packet paths menampilkan semua hop yang telah didiagnosis, dengan hop abnormal ditandai. Untuk bantuan dalam menafsirkan hasil tersebut, lihat Hasil diagnosis umum dan solusinya.

    Diagnosis result page

Parameter berdasarkan skenario

Konektivitas pod-ke-pod atau pod-ke-node

ParameterNilai
Source addressAlamat IP pod atau node
Destination addressAlamat IP pod atau node lainnya
Destination portPort yang akan didiagnosis
ProtocolProtokol untuk diagnosis

Pod atau node ke Service

Tentukan cluster IP suatu Service untuk memeriksa apakah pod atau node dapat mencapainya dan memverifikasi konfigurasi jaringan Service tersebut.

ParameterNilai
Source addressAlamat IP pod atau node
Destination addressCluster IP dari Service
Destination portPort yang akan didiagnosis
ProtocolProtokol Diagnostik

Resolusi DNS

Ketika tujuannya adalah nama domain, Anda juga perlu memverifikasi bahwa pod dapat mencapai Service kube-dns. Jalankan perintah berikut untuk mendapatkan cluster IP kube-dns:

kubectl get svc -n kube-system kube-dns

Output yang diharapkan:

NAME       TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
kube-dns   ClusterIP   172.16.XX.XX   <none>        53/UDP,53/TCP,9153/TCP   6d

Gunakan cluster IP yang ditampilkan di kolom CLUSTER-IP sebagai alamat tujuan.

ParameterNilai
Source addressAlamat IP pod atau node
Destination addressCluster IP kube-dns (misalnya, 172.16.XX.XX)
Destination port53
Protocoludp

Pod atau node ke Internet

Jika tujuannya adalah nama domain, terlebih dahulu ubah menjadi alamat IP publik.

ParameterValue
Source addressAlamat IP dari sebuah Pod atau node
Destination addressAlamat IP publik
Destination portPort yang akan didiagnosis
ProtocolProtokol yang akan didiagnosis

Internet ke LoadBalancer Service

Jika traffic eksternal tidak dapat mencapai LoadBalancer Service, tentukan alamat IP publik sebagai alamat sumber dan alamat IP eksternal LoadBalancer Service sebagai alamat tujuan.

ParameterNilai
Source addressAlamat IP publik
Destination addressAlamat IP eksternal LoadBalancer Service
Destination portPort yang akan didiagnosis
ProtocolProtokol untuk diagnosis

Hasil diagnosis umum dan solusinya

Hasil diagnosisDeskripsiSolusi
pod container ... is not readyKontainer di dalam pod belum siap.Periksa status kesehatan pod dan perbaiki pod tersebut.
network policy ... deny the packet from ...Kebijakan jaringan memblokir paket.Ubah kebijakan jaringan agar mengizinkan traffic tersebut.
no process listening on ...Tidak ada proses yang mendengarkan pada port yang ditentukan menggunakan protokol yang ditentukan.Pastikan proses pendengar sedang berjalan. Verifikasi port dan protokol dalam parameter diagnosis.
no route to host .../invalid route ... for packet ...Tidak ada rute yang tersedia, atau rute tersebut tidak mengarah ke tujuan yang diharapkan.Periksa apakah plugin jaringan berfungsi dengan benar.
... do not have same security groupDua instans ECS berada di security group yang berbeda; paket mungkin dibuang.Konfigurasikan instans ECS agar menggunakan security group yang sama.
security group ... not allow packet ...Security group pada instans ECS memblokir paket.Ubah aturan grup keamanan agar mengizinkan paket dari alamat IP sumber.
no route entry for destination ip ... / no next hop for destination ip ...Tabel rute tidak memiliki rute ke tujuan.Jika tujuannya adalah alamat IP publik, periksa konfigurasi Gateway NAT Internet.
error route next hop for destination ip ... / expect next hop for destination ip ...Rute dalam tabel rute tidak mengarah ke tujuan yang diharapkan.Jika tujuannya adalah alamat IP publik, periksa konfigurasi Gateway NAT Internet.
no snat entry on nat gateway ...Tidak ditemukan entri SNAT pada Gateway NAT Internet.Periksa konfigurasi SNAT Gateway NAT Internet.
backend ... health status for port ..., not "normal"Satu atau beberapa pod backend gagal dalam pemeriksaan kesehatan pada instans CLB.Verifikasi bahwa pod backend telah dikaitkan dengan benar ke instans CLB dan aplikasi di dalam pod tersebut dalam kondisi sehat.
cannot find listener port ... for slb ...Port yang ditentukan tidak memiliki pendengar pada instans CLB.Periksa konfigurasi LoadBalancer Service dan verifikasi port serta protokol dalam parameter diagnosis.
status of loadbalancer for ... port ... not "running"Pendengar CLB tidak dalam status Running.Periksa apakah port pendengar berfungsi normal.
service ... has no valid endpointService tidak memiliki endpoint.Periksa pemilih label Service, pastikan endpoint tersedia, dan konfirmasi bahwa endpoint tersebut sehat. Untuk masalah akses ke LoadBalancer Service dari dalam kluster, lihat Instans CLB tidak dapat diakses dari dalam kluster.

Langkah selanjutnya