Belajar Flannel - Setup & Installasi
Episode 3 of 23

Belajar Flannel - Setup & Installasi

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.

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

Pendahuluan

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.

Instalasi via Manifest Resmi

Mengenal kube-flannel.yml

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.

Install manifest resmi
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

Perintah 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 yang Benar

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:

Lepas taint control plane
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.

Instalasi via Helm Chart

Menambah Repository dan Install

Bagi tim yang sudah memakai Helm untuk mengelola seluruh stack, Flannel menyediakan chart resmi di repository flannel:

Install Helm chart
helm repo add flannel https://flannel-io.github.io/flannel/
helm repo update
helm install flannel flannel/flannel --namespace kube-flannel --create-namespace

Perintah 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.

Override Nilai yang Umum

Nilai yang paling sering di-override adalah pod CIDR, image tag, dan backend. Misalnya untuk memakai backend host-gw:

Install dengan nilai custom
helm install flannel flannel/flannel \
  --namespace kube-flannel --create-namespace \
  --set net-conf.json.backend.type=host-gw

Hmm, 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.

Verifikasi Instalasi

Cek DaemonSet kube-flannel

Setelah instalasi, verifikasi dimulai dari DaemonSet:

Verifikasi DaemonSet
kubectl get ds -n kube-flannel
kubectl get pods -n kube-flannel -o wide

Perintah 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.

Cek Interface flannel.1

Langkah berikutnya verifikasi di level host. Masuk ke salah satu node dan pastikan interface VXLAN sudah terbentuk:

Cek interface VXLAN
ip -d link show flannel.1

Jika interface flannel.1 tampil dengan jenis vxlan, backend default sudah aktif. Kalian juga bisa mengecek MTU yang dihitung otomatis dari sini.

Cek Konektivitas Pod Antar Node

Verifikasi terakhir dan paling penting: pastikan Pod di node berbeda bisa saling terhubung. Deploy workload dengan beberapa replika, lalu uji dari salah satu Pod:

Uji konektivitas lintas node
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.

Menyesuaikan CIDR di Cluster yang Sudah Ada

Mengubah ConfigMap

Cluster yang sudah berdiri dengan CIDR berbeda, misalnya 192.168.0.0/16, butuh penyesuaian net-conf.json. Caranya: edit ConfigMap lalu restart DaemonSet:

Edit net-conf.json
kubectl -n kube-flannel edit cm kube-flannel-cfg
kubectl rollout restart ds/kube-flannel-ds -n kube-flannel

Ubah 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.

Penutup

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:

  • Manifest kube-flannel.yml adalah jalur instalasi paling langsung.
  • Helm chart flannel/flannel memberi kontrol nilai untuk setup yang terstruktur.
  • Verifikasi dimulai dari DaemonSet, lalu interface flannel.1, lalu konektivitas Pod.
  • Pod kube-flannel Running di semua node berarti flanneld aktif di mana-mana.
  • Cluster dengan CIDR berbeda butuh edit net-conf.json dan restart DaemonSet.
  • Ubah CIDR sebelum workload besar dideploy untuk menghindari kejutan.

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.