説明なし

Tom Denham 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
Documentation 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
backend 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
dist 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
logos 170fd5de88 logos: resized for readme 9 年 前
network 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
pkg c254deaf7b Correcting format for pkg/ip/ipnet.go 8 年 前
subnet 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
vendor 59b138b3cc vendor: remove files not needed for building 8 年 前
version cbac427350 Version embedding for Go 1.4 and 1.5 9 年 前
.dockerignore a8972ad5cd BUILDS: Overhaul build process 8 年 前
.gitignore 444ef90c71 Makefile: Switch to a new version of kube-cross 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 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
Dockerfile.arm 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
Dockerfile.arm64 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
Dockerfile.ppc64le 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
Dockerfile.s390x 01afb49e72 Remove the experimental support for multiple networks. 8 年 前
LICENSE c1c060c005 Added boilerplate files 10 年 前
MAINTAINERS c2171f9dc5 MAINTAINERS: remove steevej 8 年 前
Makefile 01afb49e72 Remove the experimental support for multiple networks. 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 01afb49e72 Remove the experimental support for multiple networks. 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