Flannel is a network fabric for Kubernetes that configures a layer 3 network between container nodes.
Flannel solves the problem of providing unique, routable IP addresses for containers across a cluster without port mapping complexity. It runs a lightweight agent called flanneld on each host to allocate subnet leases from a preconfigured address space. The tool stores network configuration and subnet allocations in either the Kubernetes API or etcd, then forwards packets between hosts using backend mechanisms such as VXLAN or cloud-specific integrations. Flannel handles inter-host traffic transport but does not control how containers connect to their local host.
Flannel suits teams deploying Kubernetes who want straightforward networking without complex port mapping. It works well for clusters where the Kubernetes API can serve as the backing store, eliminating the need for a separate etcd deployment. The tool is focused on connectivity rather than policy enforcement, though the project provides integration options for Network Policy support through an integrated controller via its Helm chart or through third-party solutions like Calico or Cilium. Flannel can be added to existing clusters, though deployment is simplest before pods start using the pod network.
The project maintains active build and security monitoring through continuous integration workflows and OpenSSF scorecard tracking. Development follows a structured approach to deployment, offering both kubectl and Helm-based installation paths for Kubernetes integration. The tool is distributed as a single binary, keeping operational complexity low for cluster administrators.