# flannel-io/flannel

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/flannel-io-flannel).**

9,405 stars · 2,899 forks · Go · apache-2.0

## Links

- GitHub: https://github.com/flannel-io/flannel
- awesome-repositories: https://awesome-repositories.com/repository/flannel-io-flannel.md

## Topics

`docker` `docker-image` `flannel` `go` `kubernetes` `network` `overlay-network` `subnet`

## Description

Flannel is a container networking interface implementation that provides a Kubernetes cluster network overlay. It functions as a layer 3 network fabric that assigns IP addresses to nodes and ensures connectivity for containers across a distributed cluster.

The project operates as a distributed subnet manager, utilizing a distributed data store to synchronize IPv4 address ranges and host metadata. It manages the allocation of unique subnet leases to individual hosts to prevent IP address conflicts across the network.

The system automates the setup of network interfaces and routing via the container network interface standard. It handles cross-host packet forwarding through a backend-agnostic approach, utilizing tunnels or cloud-native integrations to transport traffic between nodes.

## Tags

### Networking & Communication

- [Network Overlays](https://awesome-repositories.com/f/networking-communication/network-overlays.md) — Creates a cluster-wide virtual network overlay to facilitate communication between pods across different physical hosts.
- [Cluster Network Orchestration](https://awesome-repositories.com/f/networking-communication/cluster-network-orchestration.md) — Manages cluster-wide networking settings including subnets and IP management for Kubernetes.
- [CNI Implementations](https://awesome-repositories.com/f/networking-communication/container-networking-tools/cni-implementations.md) — Implements the standard Container Network Interface to automate network routing and IP setup for containers.
- [Distributed Subnet Management](https://awesome-repositories.com/f/networking-communication/distributed-subnet-management.md) — Coordinates the allocation and persistence of unique IPv4 subnet ranges across a distributed cluster.
- [L3 Overlay Tunnels](https://awesome-repositories.com/f/networking-communication/rule-based-tunnels/l3-overlay-tunnels.md) — Encapsulates network packets to transport data across physical layers that do not natively support overlay addresses.
- [Subnet Lease Allocation](https://awesome-repositories.com/f/networking-communication/subnet-routing/subnet-lease-allocation.md) — Assigns and tracks unique IPv4 subnet ranges to nodes to prevent address conflicts.
- [IP Forwarding](https://awesome-repositories.com/f/networking-communication/ip-forwarding.md) — Implements packet forwarding mechanisms to route traffic between distributed cluster nodes.
- [Node Networking Utilities](https://awesome-repositories.com/f/networking-communication/node-networking-utilities.md) — Provides utilities for managing network interfaces and addresses of individual cluster nodes. ([source](https://flannel-io.github.io/flannel/))

### DevOps & Infrastructure

- [CNI Plugins](https://awesome-repositories.com/f/devops-infrastructure/cni-plugins.md) — Implements the Container Network Interface specification to configure network interfaces for containerized workloads.
- [Cross-Host Connectivity](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-traffic-controllers/pod-traffic-mirroring/cross-host-connectivity.md) — Enables seamless network communication between containers residing on different physical or virtual nodes.
- [Transport Mechanisms](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/networking-connectivity/transport-mechanisms.md) — Implements transport mechanisms using tunnels or cloud integrations to forward packets between nodes. ([source](https://cdn.jsdelivr.net/gh/flannel-io/flannel@master/README.md))
- [Connectivity Fabrics](https://awesome-repositories.com/f/devops-infrastructure/connectivity-fabrics.md) — Provides a unified networking fabric that bridges distributed machines into a single cluster network. ([source](https://flannel-io.github.io/flannel/))

### Software Engineering & Architecture

- [Distributed Key-Value Stores](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems/distributed-data-management/distributed-key-value-stores.md) — Uses a distributed key-value store to synchronize critical network configuration and subnet metadata.
- [Automated Routing Rules](https://awesome-repositories.com/f/software-engineering-architecture/routing-configurations/automated-routing-rules.md) — Automates the generation and update of host-local routing rules based on the cluster state.

### System Administration & Monitoring

- [Network Configuration Managers](https://awesome-repositories.com/f/system-administration-monitoring/network-configuration-managers.md) — Automates the synchronization of subnet allocations and host metadata across all nodes. ([source](https://cdn.jsdelivr.net/gh/flannel-io/flannel@master/README.md))
