暫無描述

Tom Denham 9fa0a1b3e4 Merge pull request #645 from tomdee/add-simple-bandwidth-test 8 年之前
Documentation 7260979f74 Explicitly state operator: Exists for master node toleration - as tolleration defaults to Equal by default which will result in the non scheduling of flannel on the master nodes 8 年之前
backend befe8799db Fix various little problems found by gometalinter 8 年之前
dist a80b580dc5 functional-test: Add a simple bandwidth test 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 313ee9c8f0 Makefile: Use CURDIR 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