A p2p tunneling overlay network for containers.
Rudder uses the Universal TUN/TAP device and creates an overlay
network using UDP to encapsulate IP packets. The subnet allocation
is done with the help of etcd which maintains the overlay to actual
Flannel (Docker Flavored)
Flannel (originally rudder) is an overlay
network that gives a subnet to each machine for use with containers.
One of the common issues when using containers in clouds is the inability to do cross
host communication between the containers as they default to using a local bridge.
flannel uses the Universal TUN/TAP device and creates an overlay network using UDP to
encapsulate IP packets. The subnet allocation is done with the help of etcd which maintains
the overlay subnet to host mappings.
This charm uses flannel to setup an overlay network and configures docker containers
on that host to use the overlay.
NOTE! For up to date, and complete documentation - please see the Charm Documentation Site.
Flannel-docker is a subordinate charm, and is designed to be be deployed into the scope of
a docker host, configuring its networking bridge (docker0) to use the TUN/TAP overlay
network so docker containers can communicate cross-host. This facilitates in HA and colocated
Start by deploying ETCD to your bootstrap node (this is for cost reduction, its not uncommon for multiple etcd hosts to reside as a cluster for HA scenarios. This particular deployment is non-HA)
Deploy the docker charm, and flannel-docker. Then relate docker to flannel-docker, and flannel-docker to etcd. The networking magic will reconfigure the network as a mesh overlay.
juju deploy cs:~kubernetes/trusty/etcd --to 0 juju deploy trusty/docker juju deploy trusty/flannel-docker juju add-relation flannel-docker:docker-host docker:juju-info juju add-relation flannel-docker:db etcd:client juju add-relation flannel-docker:network docker:network
This charm does not currently work with the Juju local provider. The combination
of apparmor and LXC prevent the flannel function from working. Deploy this
charm to a cloud environment.
The included binary files are amd64 only. The flannel code is compiled and will
not run on architectures other than amd64 (x86_64). Use the
juju command to specify the proper architecture from your cloud environment.
The Flannel-Docker subordinate is heavily based on the Flannel charm produced by Kapil Thangavelu
- Maintainer: Charles Butler <email@example.com>