All Projects → flannel-io → Flannel

flannel-io / Flannel

Licence: apache-2.0
flannel is a network fabric for containers, designed for Kubernetes

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Flannel

Ineter
Fast Java library for working with IP addresses, ranges, and subnets
Stars: ✭ 39 (-99.44%)
Mutual labels:  network, subnet
Iptools
PHP Library for manipulating network addresses (IPv4 and IPv6)
Stars: ✭ 163 (-97.64%)
Mutual labels:  network, subnet
Tun2socks
tun2socks - powered by gVisor TCP/IP stack
Stars: ✭ 123 (-98.22%)
Mutual labels:  network, docker-image
Docker Zerotier Moon
🐳 A docker image to create ZeroTier moon in one step.
Stars: ✭ 185 (-97.32%)
Mutual labels:  network, docker-image
Powershell ipv4networkscanner
Powerful asynchronus IPv4 network scanner for PowerShell
Stars: ✭ 161 (-97.67%)
Mutual labels:  network, subnet
Docker Ipsec Vpn Server
Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Stars: ✭ 4,356 (-36.92%)
Mutual labels:  network, docker-image
Node Minecraft Protocol
Parse and serialize minecraft packets, plus authentication and encryption.
Stars: ✭ 697 (-89.91%)
Mutual labels:  network
Drawthe.net
drawthe.net draws network diagrams dynamically from a text file describing the placement, layout and icons. Given a yaml file describing the hierarchy of the network and it's connections, a resulting diagram will be created.
Stars: ✭ 729 (-89.44%)
Mutual labels:  network
Kms Server
a docker image for kms
Stars: ✭ 679 (-90.17%)
Mutual labels:  docker-image
Docker Squid
Dockerfile to create a Docker container image for Squid proxy server
Stars: ✭ 669 (-90.31%)
Mutual labels:  docker-image
Openspades
Compatible client of Ace of Spades 0.75
Stars: ✭ 769 (-88.86%)
Mutual labels:  network
Node Escpos
🖨️ ESC/POS Printer driver for node
Stars: ✭ 752 (-89.11%)
Mutual labels:  network
Xingo
高性能golang网络库,游戏开发脚手架
Stars: ✭ 727 (-89.47%)
Mutual labels:  network
Tech Refrigerator
🍰 기술 냉장고입니다. 🛒 기술 면접 , 전공 시험 , 지식 함양 등 분명 도움될 거예요! 🤟
Stars: ✭ 699 (-89.88%)
Mutual labels:  network
Locationmanager
Simplify getting user's location for Android
Stars: ✭ 730 (-89.43%)
Mutual labels:  network
Dive
A tool for exploring each layer in a docker image
Stars: ✭ 28,957 (+319.36%)
Mutual labels:  docker-image
Scapy
Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.
Stars: ✭ 6,932 (+0.39%)
Mutual labels:  network
Whaler
Program to reverse Docker images into Dockerfiles
Stars: ✭ 670 (-90.3%)
Mutual labels:  docker-image
Anubis
🔓Subdomain enumeration and information gathering tool
Stars: ✭ 722 (-89.54%)
Mutual labels:  network
Rules docker
Rules for building and handling Docker images with Bazel
Stars: ✭ 744 (-89.23%)
Mutual labels:  docker-image

flannel

flannel Logo

Build Status

Flannel is a simple and easy way to configure a layer 3 network fabric designed for Kubernetes.

How it works

Flannel runs a small, single binary agent called flanneld on each host, and is responsible for allocating a subnet lease to each host out of a larger, preconfigured address space. Flannel uses either the Kubernetes API or etcd directly to store the network configuration, the allocated subnets, and any auxiliary data (such as the host's public IP). Packets are forwarded using one of several backend mechanisms including VXLAN and various cloud integrations.

Networking details

Platforms like Kubernetes assume that each container (pod) has a unique, routable IP inside the cluster. The advantage of this model is that it removes the port mapping complexities that come from sharing a single host IP.

Flannel is responsible for providing a layer 3 IPv4 network between multiple nodes in a cluster. Flannel does not control how containers are networked to the host, only how the traffic is transported between hosts. However, flannel does provide a CNI plugin for Kubernetes and a guidance on integrating with Docker.

Flannel is focused on networking. For network policy, other projects such as Calico can be used.

Getting started on Kubernetes

The easiest way to deploy flannel with Kubernetes is to use one of several deployment tools and distributions that network clusters with flannel by default. For example, CoreOS's Tectonic sets up flannel in the Kubernetes clusters it creates using the open source Tectonic Installer to drive the setup process.

Though not required, it's recommended that flannel uses the Kubernetes API as its backing store which avoids the need to deploy a discrete etcd cluster for flannel. This flannel mode is known as the kube subnet manager.

Deploying flannel manually

Flannel can be added to any existing Kubernetes cluster though it's simplest to add flannel before any pods using the pod network have been started.

For Kubernetes v1.17+ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

See Kubernetes for more details.

Getting started on Docker

flannel is also widely used outside of kubernetes. When deployed outside of kubernetes, etcd is always used as the datastore. For more details integrating flannel with Docker see Running

Documentation

Contact

Community Meeting

The Flannel Maintainer Community runs a meeting on every other Thursday at 8:30 AM PST. This meeting is used to discuss issues, open pull requests, and other topics related to Flannel should the need arise.

The meeting agenda and Zoom link can be found here: Flannel Community Meeting Agenda

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

Reporting bugs

See reporting bugs for details about reporting any issues.

Licensing

Flannel is under the Apache 2.0 license. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].