Episode ini memandu instalasi Flannel di cluster Kubernetes melalui dua jalur resmi: manifest kube-flannel.yml dan Helm chart flannel/flannel. Setelah terpasang, kalian memverifikasi DaemonSet kube-flannel, interface flannel.1, dan konektivitas Pod antar node.

Di episode 2 kalian sudah paham arsitektur Flannel. Sekarang waktunya praktik: memasang Flannel di cluster sungguhan. Instalasi Flannel terkenal mudah, dan episode ini akan membuktikannya.
Episode 3 memandu dua jalur instalasi resmi: manifest kube-flannel.yml untuk pendekatan kubectl langsung, dan Helm chart flannel/flannel untuk pendekatan yang lebih terstruktur. Setelah itu kita verifikasi hasilnya dari tiga sisi: DaemonSet, interface jaringan, dan konektivitas antar node.
Manifest resmi kube-flannel.yml berisi ServiceAccount, ConfigMap, dan DaemonSet yang men-deploy flanneld ke setiap node. Manifest ini menjadi satu file dan bisa diterapkan langsung tanpa konfigurasi tambahan.
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.ymlPerintah kubectl apply -f kube-flannel.yml di atas mengambil versi terbaru langsung dari release resmi Flannel. Pastikan cluster kalian sudah siap seperti yang disiapkan di episode 0, terutama syarat --pod-network-cidr=10.244.0.0/16.
Urutan instalasi penting di kubeadm: Flannel harus terpasang setelah kubeadm init tetapi sebelum node bergabung penuh, atau sesegera mungkin setelah control plane up. Pada cluster single-node, lepas taint control plane terlebih dahulu agar Pod bisa dijadwalkan:
kubectl taint nodes --all node-role.kubernetes.io/control-plane-Setelah itu tunggu semua Pod kube-flannel berstatus Running sebelum men-deploy workload apa pun.
Bagi tim yang sudah memakai Helm untuk mengelola seluruh stack, Flannel menyediakan chart resmi di repository flannel:
helm repo add flannel https://flannel-io.github.io/flannel/
helm repo update
helm install flannel flannel/flannel --namespace kube-flannel --create-namespacePerintah helm install flannel flannel/flannel men-deploy komponen yang sama dengan manifest, tetapi dengan nilai yang bisa di-override lewat values. Ini lebih nyaman untuk konfigurasi yang perlu disesuaikan per cluster.
Nilai yang paling sering di-override adalah pod CIDR, image tag, dan backend. Misalnya untuk memakai backend host-gw:
helm install flannel flannel/flannel \
--namespace kube-flannel --create-namespace \
--set net-conf.json.backend.type=host-gwHmm, struktur values chart bisa berbeda antar versi. Cara paling aman adalah memeriksa values chart sebelum meng-override. Yang pasti, nilai net-conf akan diteruskan ke ConfigMap yang sama seperti di instalasi manifest.
Setelah instalasi, verifikasi dimulai dari DaemonSet:
kubectl get ds -n kube-flannel
kubectl get pods -n kube-flannel -o widePerintah kubectl get ds -n kube-flannel harus menampilkan kube-flannel-ds dengan jumlah ready yang sama dengan jumlah node. Setiap Pod kube-flannel berstatus Running menandakan flanneld aktif di node tersebut.
Langkah berikutnya verifikasi di level host. Masuk ke salah satu node dan pastikan interface VXLAN sudah terbentuk:
ip -d link show flannel.1Jika interface flannel.1 tampil dengan jenis vxlan, backend default sudah aktif. Kalian juga bisa mengecek MTU yang dihitung otomatis dari sini.
Verifikasi terakhir dan paling penting: pastikan Pod di node berbeda bisa saling terhubung. Deploy workload dengan beberapa replika, lalu uji dari salah satu Pod:
kubectl create deployment nginx --image=nginx --replicas=2
kubectl get pods -o wide
kubectl exec -it <pod-1> -- curl <ip-pod-2>Jika respon nginx diterima, jaringan overlay Flannel bekerja. Detail alur paket di dalam overlay ini akan kita bedah di episode 4.
Cluster yang sudah berdiri dengan CIDR berbeda, misalnya 192.168.0.0/16, butuh penyesuaian net-conf.json. Caranya: edit ConfigMap lalu restart DaemonSet:
kubectl -n kube-flannel edit cm kube-flannel-cfg
kubectl rollout restart ds/kube-flannel-ds -n kube-flannelUbah field Network menjadi CIDR Pod yang dipakai cluster kalian. Perintah kubectl rollout restart ds/kube-flannel-ds membuat setiap node mengambil lease baru dari pool yang sudah disesuaikan.
Warning
Mengganti Network setelah cluster berjalan tidak sepenuhnya mengubah alamat IP Pod yang sudah ada. Lakukan penyesuaian ini sebelum workload besar dideploy, atau bersiap untuk re-apply seluruh Pod.
Episode 3 mengantarkan kalian dari nol ke cluster yang jaringannya hidup: menginstall Flannel lewat manifest atau Helm, memverifikasi DaemonSet dan interface, lalu membuktikan konektivitas lintas node.
Inti yang harus dibawa pulang:
kube-flannel.yml adalah jalur instalasi paling langsung.flannel/flannel memberi kontrol nilai untuk setup yang terstruktur.Di episode 4 selanjutnya kita akan membedah backend VXLAN default — cara kerja encapsulation UDP di port 4789, interface flannel.1 dan learning FDB, konfigurasi VNI dan port, serta keterbatasan overhead MTU 50 bytes. Ini jantung dari jaringan overlay Flannel.