Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. Flannel

Flannel

Apache-2.0Gov0.28.10

A simple layer 3 network fabric designed for Kubernetes that provides each pod with a unique, routable IP address.

GitHubGitHub
9.6k stars2.9k forks0 contributors

What is Flannel?

Flannel is a network fabric for containers, specifically designed for Kubernetes. It creates a layer 3 IPv4 network between multiple nodes in a cluster, enabling containers to communicate across hosts with unique IP addresses, which eliminates port mapping complexities and simplifies container networking.

Target Audience

Kubernetes administrators and operators who need a simple, reliable networking solution for pod communication across cluster nodes, as well as Docker users requiring cross-host container networking without Kubernetes.

Value Proposition

Developers choose Flannel for its simplicity, reliability, and minimal focus on core networking without policy enforcement, offering multiple backend mechanisms (like VXLAN and host-gw) and seamless integration with Kubernetes via CNI or Docker via etcd.

Overview

flannel is a network fabric for containers, designed for Kubernetes

Use Cases

Best For

  • Setting up pod networking in Kubernetes clusters with minimal configuration.
  • Providing cross-host container communication for Docker environments using etcd.
  • Deploying network fabrics in distributions like K3s that default to Flannel.
  • Avoiding port mapping complexities by assigning unique IPs to each container/pod.
  • Using flexible backends such as VXLAN for overlay networks or host-gw for direct routing.
  • Integrating with Kubernetes via the kube subnet manager to avoid a separate etcd cluster.

Not Ideal For

  • Clusters requiring integrated network security policies and access controls out of the box.
  • High-performance environments where overlay networks like VXLAN introduce unacceptable latency overhead.
  • Teams wanting a fully automated, zero-configuration networking solution without manual backend or module setup.
  • Projects that aim to avoid external dependencies like etcd when not using Kubernetes API storage.

Pros & Cons

Pros

Simple Kubernetes Deployment

Deployment is a one-liner with kubectl apply, and it integrates seamlessly using the Kubernetes API as a backing store to avoid a separate etcd cluster, as shown in the README.

Flexible Backend Options

Supports multiple backends like VXLAN for overlays and host-gw for direct routing, allowing adaptation to various infrastructure needs, detailed in the backends documentation.

Minimal Operational Focus

Focuses solely on layer 3 networking, which simplifies maintenance and pairs well with specialized policy tools like Calico, as stated in the philosophy section.

Cross-Platform Compatibility

Works with both Kubernetes via CNI and Docker using etcd, providing versatility across container environments, as mentioned in the getting started guides.

Cons

Manual Configuration Overhead

Requires manual steps like downloading and modifying manifests for custom podCIDR, installing CNI plugins separately, and ensuring br_netfilter module is loaded, with the README noting kubeadm no longer checks this in version 1.30.

No Built-In Network Policies

Lacks native network policy enforcement, necessitating additional projects like Calico for security, which adds complexity and operational burden.

etcd Dependency for Docker

When used outside Kubernetes, Flannel always requires etcd as the datastore, introducing an extra component to deploy and maintain, as highlighted in the Docker setup section.

Frequently Asked Questions

Quick Stats

Stars9,561
Forks2,881
Contributors0
Open Issues11
Last commit2 days ago
CreatedSince 2014

Tags

#subnet#vxlan#docker-networking#network#kubernetes#overlay-network#kubernetes-networking#docker#etcd#go#docker-image#container-networking#cloud-native

Built With

G
Go
e
etcd
K
Kubernetes
C
CNI

Included in

Go169.1k
Auto-fetched 1 day ago

Related Projects

KubernetesKubernetes

Production-Grade Container Scheduling and Management

Stars128,476
Forks47,083
Last commit1 day ago
MobyMoby

The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

Stars72,198
Forks19,217
Last commit1 day ago
traefiktraefik

The Cloud Native Application Proxy

Stars65,310
Forks6,269
Last commit2 days ago
GiteaGitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD

Stars58,620
Forks7,307
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub