Learn Flannel (a lightweight, simple CNI overlay network for Kubernetes) from the fundamentals to production-grade: prerequisite skills & environment setup, background history & why you need Flannel, core concepts & main architecture, setup & installation, the default VXLAN backend, host-gw backend & alternatives, subnet management, iptables/nftables traffic management, integration with Kubernetes Service, configuration & environment, multi-node deployment & scaling, integration with CNI plugins, observability & basic monitoring, security & hardening, network policy ecosystem, firewall & host networking, performance optimization & MTU, multi-cluster & advanced topology, GitOps & deployment as code, performance & troubleshooting, the latest stable features v0.28.x, production-ready architecture, and the alternative ecosystem & final reflection, with a total of 23 episodes.
Before you touch Flannel, you need to master the basics of Kubernetes, the CNI concept, and Linux networking such as VXLAN, bridge, and routing. In this episode you set up a minimal two-node test cluster, install Flannel v0.28.x, and verify the installation for the first time.

This episode traces the history of Flannel from its birth at CoreOS in 2014 up to v0.28.x, its philosophy of simplicity, and the cross-node Pod connectivity problem that is the main reason it exists, complete with an early comparison against other CNI approaches.

This episode dissects the Flannel architecture from the inside: the flanneld workflow, the role of the subnet manager, backend selection, and coordination with the CNI plugin. You also learn to read net-conf.json, the main source of Flannel configuration in a Kubernetes cluster.

This episode guides you through installing Flannel in a Kubernetes cluster via two official paths: the kube-flannel.yml manifest and the flannel/flannel Helm chart. Once installed, you verify the kube-flannel DaemonSet, the flannel.1 interface, and Pod connectivity between nodes.

This episode dissects the VXLAN backend that is Flannel's default: the UDP encapsulation mechanism on port 4789, the flannel.1 interface, FDB learning, VNI and port configuration, and the 50-byte MTU overhead limitation you must understand before tuning MTU.

This episode covers the host-gw backend, which forwards packets directly without encapsulation for maximum performance, as well as alternative backends such as wireguard, ipsec, ipip, udp, and extension. You also learn about the CVE-2026-32241 security note on the extension backend.

This episode dissects Flannel's subnet management: how subnet leases are allocated per node from a large pool, the difference between the Kubernetes API and etcd datastores, and how to read Lease objects. You also learn to resolve lease conflicts, subnets that fail to form, and inter-node synchronization.

This episode covers how Flannel manages traffic leaving the cluster: masquerade rules, forwarding between namespaces, the importance of br_netfilter since kubeadm 1.30, and choosing between the iptables or nftables traffic manager, along with how to inspect the rules.

This episode maps the division of labor between Flannel for pod networking and kube-proxy for Kubernetes Service. You will test ClusterIP and NodePort on top of Flannel, and understand how the iptables and ipvs modes work in kube-proxy.

This episode dissects all of flanneld's configuration options: flags and environment such as net-conf.json and interface selection, MTU and VNI tuning, and how to choose the right host interface via --iface and enable IP masquerade.
