全部产品
Search
文档中心

Container Service for Kubernetes:Diagnostik jaringan

更新时间:Jul 02, 2025

Container Service for Kubernetes (ACK) menyediakan fitur diagnostik jaringan untuk membantu Anda memecahkan masalah jaringan umum, seperti koneksi antar pod, antara kluster ACK dan Internet, serta antara Layanan LoadBalancer dan Internet. Topik ini menjelaskan cara kerja fitur diagnostik jaringan dan cara menggunakannya untuk mendiagnosis masalah koneksi.

Penting

Saat menggunakan fitur diagnostik jaringan, ACK menjalankan program pengumpulan data pada setiap node dalam kluster dan mengumpulkan hasil diagnostik. Program ini mengumpulkan pesan kesalahan utama dari log sistem dan informasi operasional seperti versi sistem, beban, Docker, dan Kubelet. Program pengumpulan data tidak mengumpulkan informasi bisnis atau data sensitif.

Prasyarat

Sebuah kluster ACK dikelola telah dibuat.

Pengenalan diagnostik jaringan

Fitur diagnostik jaringan di konsol ACK memungkinkan Anda menentukan alamat IP sumber dan tujuan, port tujuan, serta protokol dari koneksi yang bermasalah untuk dengan cepat mendiagnosis koneksi. Anda tidak memerlukan pengetahuan tentang arsitektur jaringan kontainer, plug-in jaringan, atau pemeliharaan kernel sistem untuk menggunakan fitur ini.

Fitur diagnostik jaringan dikembangkan berdasarkan proyek open source KubeSkoop. KubeSkoop adalah alat diagnostik jaringan Kubernetes untuk berbagai plug-in jaringan dan penyedia Infrastruktur sebagai Layanan (IaaS). Anda dapat menggunakan KubeSkoop untuk mendiagnosis masalah jaringan umum dalam kluster Kubernetes, serta memantau dan menganalisis jalur kritis kernel dengan menggunakan Extended Berkeley Packet Filter (eBPF). Topik ini hanya memperkenalkan diagnostik jaringan. Untuk informasi lebih lanjut tentang pemantauan dan analisis mendalam, lihat Gunakan KubeSkoop untuk Memecahkan Masalah Jaringan.

Cara kerja fitur diagnostik jaringan

image.png

  1. Buat Topologi: Fitur ini secara otomatis membuat topologi berdasarkan informasi jaringan yang Anda berikan dan informasi yang dikumpulkan dari kluster ACK, termasuk informasi tentang pod, node, Layanan, dan kebijakan jaringan.

  2. Kumpulkan Informasi: Fitur diagnostik jaringan mengumpulkan informasi tentang waktu proses, tumpukan jaringan, dan infrastruktur jaringan. Informasi tersebut digunakan untuk pemecahan masalah dan analisis jaringan.

  3. Simulasikan Rute Jaringan: Fitur diagnostik jaringan menjalankan perintah pada Instance Elastic Compute Service (ECS) atau menerapkan pod kolektor di kluster ACK untuk mengumpulkan informasi tumpukan jaringan dari node atau kontainer yang didiagnosis, termasuk perangkat jaringan, sysctl, iptables, dan IPVS. Selain itu, fitur ini juga mengumpulkan informasi tentang tabel rute, grup keamanan, dan gateway NAT di cloud. Sistem membandingkan informasi yang dikumpulkan dengan konfigurasi jaringan yang diharapkan untuk mengidentifikasi masalah konfigurasi jaringan. Sebagai contoh, sistem mensimulasikan iptables dan rute, memeriksa status perangkat jaringan, serta memverifikasi tabel rute dan aturan grup keamanan di cloud.

  4. Dapatkan Hasil Diagnostik: Fitur diagnostik jaringan membandingkan konfigurasi jaringan aktual dengan konfigurasi yang diharapkan, lalu menyoroti node abnormal dan masalah jaringan dalam topologi jaringan.

Bekerja dengan fitur diagnostik jaringan

Batasan

  • Pod yang akan didiagnosis harus dalam keadaan Running.

  • Layanan LoadBalancer untuk akses eksternal hanya mendukung instance Classic Load Balancer (CLB) Lapisan 4, dengan jumlah pod backend tidak lebih dari 10.

  • Kluster ACK Serverless dan node virtual tidak mendukung diagnostik jaringan.

Prosedur

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

  2. Di halaman Clusters, klik nama kluster yang ingin Anda diagnosis. 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, tentukan Source address, Destination address, Destination port, dan Protocol, baca peringatan, dan pilih I know and agree, lalu klik Create diagnosis.

    Untuk informasi lebih lanjut tentang parameter, lihat Parameter untuk Diagnostik Masalah Jaringan Umum.

    image.png

  5. Di halaman Diagnosis result, Anda dapat melihat hasil diagnosis. Bagian Packet paths menampilkan semua node yang didiagnosis.

    Node abnormal disorot. Untuk informasi lebih lanjut tentang hasil diagnosis umum, lihat Hasil Diagnosis Umum dan Solusi.

    image.png

Parameter untuk diagnostik masalah jaringan umum

Skenario 1: Mendiagnosis jaringan antara pod dan node

Anda dapat menggunakan fitur diagnostik jaringan untuk mendiagnosis jaringan antara pod atau antara pod dan node. Tabel berikut menjelaskan parameter.

Parameter

Deskripsi

Alamat sumber

Alamat IP dari pod atau node.

Alamat tujuan

Alamat IP dari pod atau node lainnya.

Port tujuan

Port yang akan didiagnosis.

Protokol

Protokol yang akan didiagnosis.

Skenario 2: Mendiagnosis jaringan antara pod dan Layanan atau antara node dan Layanan

Anda dapat menentukan IP kluster dari Layanan untuk memeriksa apakah node atau pod dapat mengakses Layanan dan memverifikasi konfigurasi jaringan Layanan. Tabel berikut menjelaskan parameter.

Parameter

Deskripsi

Alamat sumber

Alamat IP dari pod atau node.

Alamat tujuan

IP kluster dari Layanan.

Port tujuan

Port yang akan didiagnosis.

Protokol

Protokol yang akan didiagnosis.

Skenario 3: Mendiagnosis resolusi DNS

Saat alamat tujuan adalah nama domain, Anda perlu memeriksa tidak hanya koneksi antara alamat sumber dan tujuan tetapi juga layanan DNS di kluster. Anda dapat menggunakan fitur diagnostik jaringan untuk memeriksa apakah pod dapat mengakses Layanan kube-dns di namespace kube-system.

Jalankan perintah berikut untuk menanyakan IP kluster Layanan kube-dns di namespace kube-system:

kubectl get svc -n kube-system kube-dns

Output yang Diharapkan:

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

Output menunjukkan bahwa IP kluster Layanan kube-dns adalah 172.16.XX.XX. Tentukan IP kluster Layanan kube-dns sebagai alamat tujuan dan konfigurasikan parameter lainnya.

Parameter

Deskripsi

Alamat sumber

Alamat IP dari pod atau node.

Alamat tujuan

IP kluster Layanan kube-dns.

Port tujuan

53

Protokol

udp

Skenario 4: Mendiagnosis jaringan antara pod atau node dan Internet

Anda dapat menggunakan fitur diagnostik jaringan untuk mendiagnosis jaringan antara pod atau node dan alamat IP publik. Jika alamat tujuan adalah nama domain, Anda perlu mendapatkan alamat IP publik yang dipetakan ke nama domain tersebut. Tabel berikut menjelaskan parameter.

Parameter

Deskripsi

Alamat sumber

Alamat IP dari pod atau node.

Alamat tujuan

Alamat IP publik.

Port tujuan

Port yang akan didiagnosis.

Protokol

Protokol yang akan didiagnosis.

Skenario 5: Mendiagnosis jaringan antara Internet dan Layanan LoadBalancer

Jika akses eksternal ke Layanan LoadBalancer gagal, Anda dapat menentukan alamat IP publik sebagai alamat sumber dan alamat IP eksternal Layanan LoadBalancer sebagai alamat tujuan untuk mendiagnosis koneksi. Tabel berikut menjelaskan parameter.

Parameter

Deskripsi

Alamat sumber

Alamat IP publik.

Alamat tujuan

Alamat IP eksternal Layanan LoadBalancer.

Port tujuan

Port yang akan didiagnosis.

Protokol

Protokol yang akan didiagnosis.

Hasil diagnosis umum dan solusi

Hasil Diagnosis

Deskripsi

Solusi

pod container ... belum siap

Kontainer dalam pod belum siap.

Periksa status kesehatan pod dan perbaiki pod.

kebijakan jaringan ... menolak paket dari ...

Paket diblokir oleh kebijakan jaringan.

Ubah kebijakan jaringan.

tidak ada proses yang mendengarkan pada ...

Tidak ada proses pendengar di kontainer atau di node yang menggunakan protokol saat ini untuk mendengarkan port.

Periksa apakah proses pendengar berjalan normal dan verifikasi parameter untuk diagnostik jaringan, seperti port dan protokol.

tidak ada rute ke host .../rute tidak valid ... untuk paket ...

Tidak ditemukan rute atau rute tidak menunjuk ke tujuan yang diinginkan.

Periksa apakah plug-in jaringan berfungsi dengan normal.

... tidak memiliki grup keamanan yang sama

Dua Instance ECS menggunakan grup keamanan yang berbeda. Paket mungkin dibuang.

Konfigurasikan Instance ECS untuk menggunakan grup keamanan yang sama.

grup keamanan ... tidak mengizinkan paket ...

Paket diblokir oleh grup keamanan Instance ECS.

Ubah aturan grup keamanan untuk menerima paket dari alamat IP tertentu.

  • tidak ada entri rute untuk alamat ip tujuan ...

  • tidak ada hop berikutnya untuk alamat ip tujuan ...

Tabel rute tidak berisi rute yang menunjuk ke alamat tujuan.

Jika alamat tujuan adalah alamat IP publik, periksa konfigurasi Gateway NAT Internet.

  • rute salah hop berikutnya untuk alamat ip tujuan ...

  • harapkan hop berikutnya untuk alamat ip tujuan ...

Rute di tabel rute tidak menunjuk ke alamat tujuan yang diinginkan.

Jika alamat tujuan adalah alamat IP publik, periksa konfigurasi Gateway NAT Internet.

tidak ada entri snat di gateway nat ...

Entri SNAT yang diinginkan tidak ditemukan di Gateway NAT Internet.

Periksa konfigurasi SNAT Gateway NAT Internet.

backend ... status kesehatan untuk port ..., bukan "normal"

Beberapa pod backend dari instance CLB gagal melewati pemeriksaan kesehatan.

Periksa apakah pod backend yang diinginkan terhubung dengan instance CLB dan apakah aplikasi yang berjalan di pod backend terkait sehat.

tidak dapat menemukan port pendengaran ... untuk slb ...

Port pendengaran tidak ditemukan di instance CLB.

Periksa konfigurasi Layanan LoadBalancer dan parameter untuk diagnostik jaringan, seperti port dan protokol.

status loadbalancer untuk ... port ... bukan "running"

Pendengar instance CLB tidak dalam keadaan Running.

Periksa apakah port pendengaran normal.

layanan ... tidak memiliki endpoint yang valid

Layanan tidak memiliki endpoint.

Periksa apakah pemilih label Layanan berfungsi sesuai harapan, apakah endpoint Layanan ada, dan apakah endpoint tersebut sehat.

Untuk informasi lebih lanjut tentang akses internal ke Layanan LoadBalancer, lihat Instance CLB tidak dapat diakses dari dalam kluster.