بدون توضیح

Tom Denham befe8799db Fix various little problems found by gometalinter 8 سال پیش
Documentation bb68236217 Documentation: Split README into multiple files 8 سال پیش
backend befe8799db Fix various little problems found by gometalinter 8 سال پیش
dist 92d21600c0 e2e: Allow the backend list to be overridden 8 سال پیش
logos 170fd5de88 logos: resized for readme 9 سال پیش
network 1bf4e6b6aa vendor: Make code compatible again 8 سال پیش
pkg c254deaf7b Correcting format for pkg/ip/ipnet.go 8 سال پیش
subnet befe8799db Fix various little problems found by gometalinter 8 سال پیش
vendor fbf578f0df vendor: Revendor with more sensible pinnings 8 سال پیش
version cbac427350 Version embedding for Go 1.4 and 1.5 9 سال پیش
.dockerignore a8972ad5cd BUILDS: Overhaul build process 8 سال پیش
.gitignore 2243d07b41 Builds: Insert libpthread into busybox images 8 سال پیش
.travis.yml 56ef07bd0f Makefile: Push tags to flannel-git for all builds 8 سال پیش
CONTRIBUTING.md c1c060c005 Added boilerplate files 10 سال پیش
DCO c1c060c005 Added boilerplate files 10 سال پیش
Dockerfile.amd64 2243d07b41 Builds: Insert libpthread into busybox images 8 سال پیش
Dockerfile.arm 2243d07b41 Builds: Insert libpthread into busybox images 8 سال پیش
Dockerfile.arm64 2243d07b41 Builds: Insert libpthread into busybox images 8 سال پیش
Dockerfile.ppc64le 2243d07b41 Builds: Insert libpthread into busybox images 8 سال پیش
LICENSE c1c060c005 Added boilerplate files 10 سال پیش
MAINTAINERS c2171f9dc5 MAINTAINERS: remove steevej 8 سال پیش
Makefile 4c9e4f4c16 Build tar.gz for ppc64le, arm and arm64 arch 8 سال پیش
NOTICE c1c060c005 Added boilerplate files 10 سال پیش
README.md bb68236217 Documentation: Split README into multiple files 8 سال پیش
glide.lock fbf578f0df vendor: Revendor with more sensible pinnings 8 سال پیش
glide.yaml fbf578f0df vendor: Revendor with more sensible pinnings 8 سال پیش
license-check.sh a8972ad5cd BUILDS: Overhaul build process 8 سال پیش
main.go afc5e0d997 subnet: Move etcd files into their own package. 8 سال پیش
packet-01.png 82195b1cc4 diagram: update to reflect name change 10 سال پیش

README.md

flannel

flannel Logo

Build Status

flannel is a virtual network that gives a subnet to each host for use with container runtimes.

Platforms like Kubernetes assume that each container (pod) has a unique, routable IP inside the cluster. The advantage of this model is that it reduces the complexity of doing port mapping.

Theory of Operation

flannel runs an agent, flanneld, on each host and is responsible for allocating a subnet lease out of a preconfigured address space. flannel uses etcd to store the network configuration, allocated subnets, and auxiliary data (such as host's IP). The forwarding of packets is achieved using one of several strategies that are known as backends. The simplest backend is udp and uses a TUN device to encapsulate every IP fragment in a UDP packet, forming an overlay network. The following diagram demonstrates the path a packet takes as it traverses the overlay network:

Life of a packet

Documenation