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.

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.
Sebelum berpikir rumit, kumpulkan fakta dari node. Perintah-perintah berikut memberi gambaran lengkap kondisi jaringan di satu node:
ip route | grep flannel
ip -d link show flannel.1
ip neigh show dev flannel.1
journalctl -u kube-flannel -n 50Perintah 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.
Lengkapi dengan data dari sisi cluster:
kubectl get pods -n kube-flannel -o wide
kubectl get lease -n kube-system
kubectl logs -n kube-flannel -l k8s-app=flannelPerintah kubectl get pods -n kube-flannel menampilkan status Pod flanneld, dan kubectl get lease -n kube-system menampilkan alokasi subnet.
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.
kubectl run nettest --image=busybox --restart=Never --command -- sleep 3600
kubectl exec -it nettest -- ping -c 3 <ip-pod-node-lain>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:
kubectl -n kube-flannel rollout restart ds/kube-flannel-ds
kubectl -n kube-flannel rollout status ds/kube-flannel-dsGejala 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:
sysctl net.bridge.bridge-nf-call-iptables
sudo modprobe br_netfilterGejala: paket kecil berhasil, transfer besar gagal. Ini ciri MTU mismatch. Bandingkan MTU host dan flannel.1, lalu sesuaikan seperti yang dibahas di episode 16:
ip link show eth0
ip link show flannel.1Selisihnya harus 50 untuk VXLAN. Jika lebih, ada setting yang tidak konsisten di jalur.
Gejala: dua node mengklaim subnet yang sama, route tumpang tindih. Periksa lease dan hapus yang bentrok setelah memastikan node-nya mati:
kubectl get lease -n kube-system -o wide
kubectl delete lease -n kube-system <node-mati>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.
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.
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.
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:
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.