Belajar Flannel - Performance & Troubleshooting
Episode 19 of 23

Belajar Flannel - Performance & Troubleshooting

Episode ini mengasah kemampuan troubleshooting Flannel: kumpulan perintah diagnostik seperti ip route, ip -d link, dan journalctl, serta pemecahan masalah umum seperti Pod gagal terhubung lintas node, VXLAN tidak up, br_netfilter mati, MTU mismatch, dan konflik subnet.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

Flannel mudah dioperasikan saat sehat, dan justru di sinilah keunggulannya: karena arsitekturnya sederhana, troubleshooting-nya juga sederhana. Yang dibutuhkan hanyalah urutan pemeriksaan yang benar.

Episode 19 mengasah kemampuan itu. Kalian akan mempelajari kumpulan perintah diagnostik dan cara memecahkan lima masalah paling umum yang ditemui pengguna Flannel.

Kumpulan Perintah Diagnostik

Inspeksi Route, Interface, dan Neighbor

Sebelum berpikir rumit, kumpulkan fakta dari node. Perintah-perintah berikut memberi gambaran lengkap kondisi jaringan di satu node:

Diagnostik lengkap
ip route | grep flannel
ip -d link show flannel.1
ip neigh show dev flannel.1
journalctl -u kube-flannel -n 50

Perintah ip route | grep flannel menunjukkan subnet yang dikenal node, ip -d link show flannel.1 menunjukkan status interface VXLAN, dan journalctl -u kube-flannel menunjukkan log daemon di node.

Diagnostik dari Sisi Kubernetes

Lengkapi dengan data dari sisi cluster:

Cek Pod dan lease
kubectl get pods -n kube-flannel -o wide
kubectl get lease -n kube-system
kubectl logs -n kube-flannel -l k8s-app=flannel

Perintah kubectl get pods -n kube-flannel menampilkan status Pod flanneld, dan kubectl get lease -n kube-system menampilkan alokasi subnet.

Troubleshooting Umum

Pod Tidak Bisa Terhubung Lintas Node

Gejala: Pod di node yang sama terhubung, lintas node tidak. Periksa berurutan: status lease, route ke subnet node lain, lalu interface VXLAN. Jika route hilang, sinkronisasi bermasalah; jika route ada tetapi ping gagal, periksa firewall port 4789.

Uji konektivitas Pod
kubectl run nettest --image=busybox --restart=Never --command -- sleep 3600
kubectl exec -it nettest -- ping -c 3 <ip-pod-node-lain>

VXLAN Tidak Up

Interface flannel.1 yang tidak up biasanya karena flanneld gagal membuatnya saat startup. Periksa log flanneld untuk pesan error, dan pastikan port UDP 4789 terbuka. Setelah diperbaiki, restart DaemonSet:

Restart DaemonSet
kubectl -n kube-flannel rollout restart ds/kube-flannel-ds
kubectl -n kube-flannel rollout status ds/kube-flannel-ds

br_netfilter Tidak Aktif

Gejala yang membingungkan: Pod bisa saling ping, tetapi koneksi TCP ke Service sering terputus. Penyebabnya br_netfilter tidak aktif sehingga traffic bridge tidak difilter. Periksa dan perbaiki:

Cek dan aktifkan br_netfilter
sysctl net.bridge.bridge-nf-call-iptables
sudo modprobe br_netfilter

MTU Mismatch

Gejala: paket kecil berhasil, transfer besar gagal. Ini ciri MTU mismatch. Bandingkan MTU host dan flannel.1, lalu sesuaikan seperti yang dibahas di episode 16:

Bandingkan MTU
ip link show eth0
ip link show flannel.1

Selisihnya harus 50 untuk VXLAN. Jika lebih, ada setting yang tidak konsisten di jalur.

Konflik Subnet Lease

Gejala: dua node mengklaim subnet yang sama, route tumpang tindih. Periksa lease dan hapus yang bentrok setelah memastikan node-nya mati:

Cek dan bersihkan lease
kubectl get lease -n kube-system -o wide
kubectl delete lease -n kube-system <node-mati>

Alur Troubleshooting Sistematis

Urutan Pemeriksaan

Untuk masalah apa pun, gunakan urutan yang konsisten: mulai dari Pod, lalu node, lalu cluster. Pertama pastikan Pod target sehat. Kedua, pastikan route di node target benar. Ketiga, pastikan lease di cluster sinkron. Keempat, pastikan firewall membuka port backend.

Alur cepat satu baris
kubectl get pods -A -o wide | grep -E "Running|flannel"

Output dari kubectl get pods -A memberi gambaran cepat tentang Pod yang sehat dan Pod flanneld yang berjalan. Dari sini kalian bisa memutuskan ke mana langkah berikutnya.

Catatan sebagai Kebiasaan

Catat setiap insiden: gejala, perintah yang dipakai, dan akar masalahnya. Kebiasaan ini mengubah troubleshooting dari proses menebak menjadi proses terarah, dan dokumentasi insiden menjadi aset tim.

Penutup

Episode 19 mengasah kemampuan kalian menangani Flannel di lapangan: perintah diagnostik yang tepat, lima masalah umum beserta solusinya, dan alur pemeriksaan yang sistematis.

Inti yang harus dibawa pulang:

  • Kumpulkan fakta dulu: route, interface, neighbor, dan log.
  • Pod gagal lintas node: periksa lease, route, interface, lalu firewall.
  • VXLAN tidak up biasanya karena flanneld gagal saat startup.
  • br_netfilter yang mati menyebabkan koneksi TCP terputus misterius.
  • MTU mismatch ditandai transfer besar yang gagal.
  • Konflik lease dibersihkan dengan menghapus objek Lease yang bentrok.

Di episode 20 selanjutnya kita akan melihat yang terbaru: fitur stabil terbaru v0.28.x — penyempurnaan backend, traffic manager iptables dan nftables, keamanan build, serta pembahasan mendalam CVE-2026-32241 dan pentingnya upgrade patch.

Belajar Flannel - Performance & Troubleshooting | Belajar Flannel