Episode ini menjelajahi topologi lanjutan Flannel: membangun overlay lintas cluster beserta keterbatasannya, kombinasi node dengan backend berbeda, serta topologi lanjutan seperti IPv6 dual-stack dan pembatasan alokasi subnet via SubnetMin dan SubnetMax.

Satu cluster Flannel sudah kalian kuasai. Sekarang muncul pertanyaan yang wajar: bagaimana dengan lebih dari satu cluster? Bagaimana topologi jaringan yang lebih rumit? Episode ini menjawabnya.
Kita akan membahas overlay lintas cluster dan keterbatasannya, kombinasi node dengan backend berbeda, serta topologi lanjutan seperti IPv6 dual-stack dan pembatasan alokasi subnet.
Flannel membangun jaringan dalam satu cluster: lease dikelola dari satu datastore, dan route disinkronkan antar node dalam cluster yang sama. Overlay lintas cluster bukan fitur bawaan Flannel. Untuk menghubungkan Pod antar cluster, kalian harus membangun jembatan sendiri, misalnya memakai tool seperti Submariner atau routing layer di atas.
ip route | grep flannelOutput dari ip route | grep flannel hanya menampilkan subnet dalam satu cluster. Subnet cluster lain tidak akan muncul tanpa upaya integrasi tambahan.
Pola yang paling umum: setiap cluster memakai CIDR yang berbeda, dan traffic antar cluster lewat gateway atau mesh VPN yang dibangun di atas jaringan host. Ingat pelajaran episode 15: dua cluster yang memakai CIDR sama tidak bisa saling dihubungkan tanpa konflik route.
Flannel mendefinisikan satu backend untuk seluruh cluster. Idealnya semua node memakai backend yang sama karena ConfigMap kube-flannel-cfg dibaca semua node. Menggabungkan node dengan backend berbeda, misalnya sebagian VXLAN dan sebagian host-gw, tidak didukung secara wajar dan akan membuat route tidak konsisten.
kubectl -n kube-flannel get pods -l k8s-app=flannel -o widePerintah kubectl -n kube-flannel get pods menampilkan Pod flanneld di setiap node. Karena semua membaca konfigurasi yang sama, backend yang dipakai identik di seluruh node.
Satu-satunya pendekatan yang mendekati mixed backend adalah DirectRouting: node dalam subnet yang sama memakai route langsung, sisanya memakai VXLAN. Ini bukan mixed backend sungguhan, tetapi memberikan efek serupa dengan dukungan resmi.
Kubernetes modern mendukung dual-stack, dan Flannel bisa dijalankan dengan IPv6. net-conf.json perlu mendefinisikan network IPv6 bersama dengan network IPv4:
net-conf.json: |
{
"Network": "10.244.0.0/16",
"EnableIPv6": true,
"IPv6Network": "fd00::/48",
"Backend": {
"Type": "vxlan"
}
}Dengan EnableIPv6: true dan IPv6Network terisi, flanneld mengelola dua network sekaligus. Pahami bahwa dukungan IPv6 menambah lapisan sinkronisasi yang harus dipantau.
Kadang kalian ingin membatasi berapa banyak node yang bisa bergabung, atau mengarahkan alokasi subnet. Field SubnetMin dan SubnetMax membatasi rentang subnet yang bisa dialokasikan:
net-conf.json: |
{
"Network": "10.244.0.0/16",
"SubnetMin": "10.244.0.0",
"SubnetMax": "10.244.0.0",
"Backend": {
"Type": "vxlan"
}
}Konfigurasi di atas membatasi alokasi hanya pada subnet 10.244.0.0, berguna untuk setup yang butuh kontrol ketat atas ruang alamat.
Untuk memastikan dual-stack berjalan, periksa route IPv6 di node:
ip -6 route | grep flannelOutput dari ip -6 route | grep flannel menampilkan route IPv6 antar node jika dual-stack aktif. Jika kosong padahal IPv6 dikonfigurasi, ada masalah sinkronisasi yang perlu ditelusuri.
Topologi lanjutan sulit dipahami tanpa dokumentasi. Catat CIDR tiap cluster, backend yang dipakai, dan konfigurasi IPv6 di repository infrastruktur kalian. Ini akan menyelamatkan banyak waktu saat troubleshooting di kemudian hari.
Episode 17 memperluas horizon Flannel: memahami bahwa overlay lintas cluster bukan fitur bawaan, bahwa mixed backend tidak didukung secara resmi, dan bahwa topologi lanjutan seperti dual-stack dan pembatasan subnet dimungkinkan lewat net-conf.json.
Inti yang harus dibawa pulang:
Di episode 18 selanjutnya kita akan mengelola Flannel sebagai code: GitOps dan deployment as code — mengelola manifest dan Helm values lewat Argo CD atau Flux, menerapkan versioning dan review flow, serta strategi penerapan bertahap yang aman.