Skip to content

Releases: flannel-io/flannel

v0.12.0

13 Mar 00:23
4ff77dc
Compare
Choose a tag to compare

A short summary of some key commits:

905c5d6 fix deleteLease
477d9fa Use publicIP lookup iface if --public-ip indicated
251ecdb kubernetes 1.16 cni error
701c2e8 Add cniVersion to general CNI plugin configuration.
cdcef37 Needs to clear NodeNetworkUnavailable flag on Kubernetes
1d43a1e Replaces gorillalabs go-powershell with bhendo/go-powershell
3e31d3b Make VXLAN device learning attribute configurable
ac54a74 change nodeSelector to nodeAffinity and schedule the pod to linux node
0106d23 This PR adds the cni version to the cni-conf.yaml inside the kube-flannel-cfg configmap
5c7091b EnableNonPersistent flag for Windows Overlay networks
9d18981 snap package.
90764d2 Update lease with DR Mac
aac870e main.go: add the "net-config-path" flag
219cb89 Deploy Flannel with unprivileged PSP
fc9cdb1 Enable local host to local pod connectivity in Windows VXLAN
403cffd Update hcsshim for HostRoute policy in Windows VXLAN

v0.11.0

28 Jan 19:46
d3eea7f
Compare
Choose a tag to compare

This release of flannel contains exciting new support for Windows (host-gw and vxlan), an enviable IPSec backend and some conformance and stability changes.

A short summary of some key commits:
#1078 Get HNS networks using V2 schema (thanks @ksubrmnn)
#1061 Remote subnet feature (thanks @ksubrmnn)
#1042 Windows "host-gw" & "vxlan" support (thanks @thxCode)
#997 Allow changing subnet/kube annotation prefix (thanks @kopiczko)
#1045 Do not define keys for tolerations (thanks @outcoldman)
#1016 Use latest Go version (thanks @tomdee)
#978 Make the iptables FORWARD chain rules optional (thanks @KashifSaadat)
#949 Add link to flannel-node-annotator (thanks @alvaroaleman)
#987 add recycling for old iptables rules (thanks @mainred)
#1000 subnet: handle unknown state in delete event (thanks @ggaaooppeenngg)
#989 Documentation/k8s: add daemonsets for all archs (thanks @lentzi90)
#1005 Update kube-flannel-rbac.yml (thanks @somashekhar)
#940 Log all the available interfaces when none were found (thanks @dmathieu)
#941 backend/udp: Use a /32 prefix for the flannel0 interface (thanks @celskeggs)
#935 Added new flag -iptables-resync (thanks @SleepyBrett)
#930 translate alicloud-vpc-backend.md (thanks @DiamondYuan)
#929 Add IPSec backend (thanks @tomdee)

v0.10.0

23 Jan 19:00
2fd6898
Compare
Choose a tag to compare

This release of flannel contains many new features and improvements. Highlights include

  • A new IPIP backend.
  • A configuration for using Wireguard with the extensions backend.
  • Some build changes. All images are now based on Alpine Linux.
  • Initial groundwork for Windows support.
  • Some changes to how subnets are configured. Flannel now performs additional checks on the configuration options that users supply.
  • Changes to the kubernetes manifests
    • The CNI configuration is now specified as a .conflist which allows multiple plugins to be chained. If you are upgrading flannel by just applying the new manifest, then kubernetes will continue to use the old .conf instead of the new .conflist until you manually delete the .conf file. See discussion in #855 (comment) for more details.
    • The CNI configuration now includes the portmap plugin to provide hostPort functionality. You must ensure that the plugin is installed on your host (it will be if you have at least version 0.6.0 of the CNI plugins). This kubernetes manifest in this repo does not install any CNI binaries so you must install another way.
  • A number of other bug fixes and improvements. See below for the full list.

The full list of changes

IPIP

#842 Add new ipip backend (thanks @chenchun)

Wireguard

#898 backend/extension: Add Wireguard configuration (thanks @tomdee)

Builds

#859 Makefile: Stop building ACIs (thanks @tomdee)
#860 Makefile: Cleanup, alpine and amd64 only UDP (thanks @tomdee)
#863 MAINTAINER is deprecated, using LABEL now (thanks @cglewis)

Windows

#911 flannel: Get flannel running on windows (thanks @tomdee)
#879 backend: Get flannel building on windows with stubs (thanks @jroggeman)
#903 Fix to build/release windows binaries from Linux (thanks @madhanrm)
#854 network: move ipmasq management into platform-specific files (thanks @jroggeman)

Handling of subnet config

This changes could cause problems when using very small subnets.
#896 subnet/config.go: Fix handling of subnet config (thanks @tomdee)
#894 subnet/config.go: Ensure that Subnets are aligned (thanks @tomdee)

Manifests

#855 make sure flanneld got QoS class "Guaranteed" to have lower oom_score_adj (thanks @Dieken)
#888 Add portmap plugin to CNI conf (thanks @osoriano)
#884 Documentation/Manifests: Improve YMLs. (thanks @Gacko)
#849 kube-flannel-cfg: enable hairpin mode (thanks @Dieken)
#910 Correct Spelling ClusterRoleBinding (thanks @abhaydiwan)

Bug fixes and small improvments

#843 Remove unexpected route from route list (thanks @chenchun)
#840 Fix #712, allow overwriting the public IP of a Kubernetes node (thanks @alvaroaleman)
#897 backend/vxlan: Return correct MTU value (thanks @tomdee)

Automated testing

#845 Add support for multiarch e2e tests (thanks @mkumatag)
#816 Improve functional tests (thanks @tomdee)
#850 Fix TTY error while running e2e tests in container (thanks @mkumatag)
#876 Fix e2e tests for non-amd64 archs (thanks @mkumatag)
#861 Remove leftover containers (thanks @mkumatag)
#858 travis: Only run the tests once (thanks @tomdee)

Logging

#827 Fix printf verb %s of wrong type (thanks @sakeven)
#893 subnet/etcdv2/local_manager.go: Fix startup log (thanks @tomdee)
#873 Log kubernetes public ip override (thanks @alvaroaleman)
#828 Fix error message in ipmasq (thanks @sakeven)

Documentation Changes

#912 automated PR: update CoC (thanks @ericchiang)
#907 fixes typo (thanks @karthequian)
#857 README.md: fix link to kubernetes documentation (thanks @ysim)
#856 Comment out the PR template message and add release note section (thanks @gunjan5)
#880 [DOC] Clarify GCE route quota is only 100 by default (thanks @yuvipanda)
#868 fix typo (thanks @vissible)
#839 All lowercase filename (thanks @athai)

v0.9.1

16 Nov 17:50
64e7cfa
Compare
Choose a tag to compare

This release of flannel contains a single fix (#872) to improve compatibility with newer versions of Docker.

Install on kubernetes

  • kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml

The Docker image can be downloaded from quay.io

Please provide feedback through one of the following channels:

  • Slack: #flannel on Calico Users Slack
  • Mailing list: coreos-dev
  • IRC: #coreos on freenode.org

v0.9.0

22 Sep 15:45
Compare
Choose a tag to compare

This release of flannel brings some significant improvements to the vxlan backend.

  • No longer listen for netlink messages. This improves flannel performance at high scale (especially on heavily loaded systems) and minimizes the possibility for dropped traffic when the flannel deamon is stopped (e.g. during upgrades).
  • Fully compatible with previous versions of flannel to allow for easy upgrade
  • Adds support for new "direct routing" mode where packets are only VXLAN encapsulated if there isn't a directly connected route to the destination host.

It also adds a retry mechanism to the --ip-masq feature to ensure that iptables rules are correct.

There are a number of other important bug fixes and improvements. See the complete list below.

Install on kubernetes

  • kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.0/Documentation/kube-flannel.yml

The Docker image can be downloaded from quay.io

Please provide feedback through one of the following channels:

  • Slack: #flannel on Calico Users Slack
  • Mailing list: coreos-dev
  • IRC: #coreos on freenode.org

The complete list of PRs in this release
#808 Always ensure iptables masquerade rules are installed (thanks @julia-stripe)
#817 Makefile: Stop pulling the unused lib from kube-cross
#809 subnet/*: Remove unused reservations code
#811 Remove Library copy commands from dockefiles (thanks @mkumatag)
#807 backend/hostgw: Improve robustness, add logging and comments
#787 backend/vxlan: Add support for "direct routing"
#803 Fix route deletion when replacing route in hostgw backend (thanks @julia-stripe)
#800 Add flag validation for subnet-lease-renew-margin (thanks @ruoshan)
#785 backend/vxlan: simplify vxlan processing
#791 add ca-certificates (thanks @oilbeater)
#789 Remove broken reference (thanks @athai)
#777 main.go: Remove sleep during shutdown
#776 Remove RevokeLease from manager interface
#778 Remove wait() from backendmanager. Nothing calls it

v0.9.0-rc1

18 Sep 21:35
Compare
Choose a tag to compare
v0.9.0-rc1 Pre-release
Pre-release

This pre release of flannel brings some significant improvements to the vxlan backend.

  • No longer listen for netlink messages. This improves flannel performance at high scale (especially on heavily loaded systems) and minimizes the possibility for dropped traffic when the flannel deamon is stopped (e.g. during upgrades).
  • Fully compatible with previous versions of flannel to allow for easy upgrade
  • Adds support for new "direct routing" mode where packets are only VXLAN encapsulated if there isn't a directly connected route to the destination host.

There are a number of other important bug fixes and improvements. See the complete list below.

Install on kubernetes
Download and edit the file at https://raw.githubusercontent.com/coreos/flannel/v0.9.0-rc1/Documentation/kube-flannel.yml to reference the correct release version.

If you're using RBAC (e.g. if you're using kubeadm) then also apply the RBAC file

The Docker image can be downloaded from quay.io

Please provide feedback through one of the following channels:

  • Slack: #flannel on Calico Users Slack
  • Mailing list: coreos-dev
  • IRC: #coreos on freenode.org

The complete list of PRs in this release
#817 Makefile: Stop pulling the unused lib from kube-cross
#809 subnet/*: Remove unused reservations code
#811 Remove Library copy commands from dockefiles (thanks @mkumatag)
#807 backend/hostgw: Improve robustness, add logging and comments
#787 backend/vxlan: Add support for "direct routing"
#803 Fix route deletion when replacing route in hostgw backend (thanks @julia-stripe)
#800 Add flag validation for subnet-lease-renew-margin (thanks @ruoshan)
#785 backend/vxlan: simplify vxlan processing
#791 add ca-certificates (thanks @oilbeater)
#789 Remove broken reference (thanks @athai)
#777 main.go: Remove sleep during shutdown
#776 Remove RevokeLease from manager interface
#778 Remove wait() from backendmanager. Nothing calls it

v0.8.0

11 Jul 21:01
6bbf8bf
Compare
Choose a tag to compare

This release of flannel brings many new features and improvements. There are some pretty big changes in this release

  • No more multi network support or remote support.
  • Improved Kubernetes scale (fix problem when using kube-subnet-mgr with more than 100 nodes #719 )
  • Lots of little improvements and fixes - see the list below.

Install on kubernetes

  • kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.8.0/Documentation/kube-flannel.yml

If you're using RBAC (e.g. if you're using kubeadm) then also apply the RBAC file

  • kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.8.0/Documentation/kube-flannel-rbac.yml

The Docker image can be downloaded from quay.io

Please provide feedback through one of the following channels:

  • Slack: #flannel on Calico Users Slack
  • Mailing list: coreos-dev
  • IRC: #coreos on freenode.org

The following PRs are in this release:

New features

#701 backend/extension: Introduce new extension backend
#717 aws-vpc: add support for multiple route tables
#571 Add ali cloud VPC network support
#754 Added iface-regex option
#752 flannel reads from created subnet.env file on startup
#722 add healthz

Removed features

#633 Remove the experimental support for multiple networks.
#606 remote: Remove experimental remote support

Bug fixes

#675 subnet/etcdv2: Fix panic from bad error contruction
#693 Keep route: [ 0.0.0.0/0 via ECS instance ] to work with alicloud DNAT…
#745 Add iptables rule to prevent masquerade on some external traffic
#750 Added compatibility check to compare GBP for VXLAN

Documentation improvements

#714 docs: adding CNI plugin note.
#715 docs: adding pointer to reservations.md.
#713 docs: adding MTU note.
#679 flannel-docs: Updating flannel Documents files.
#682 Flannel ReadMe: Added Tom's notes.
#700 Add templates for PRs/Issues
#707 Fixes typo
#702 bill-of-materials: initial commit
#656 Documentation: Split README into multiple files
#625 added production users and integrations pages
#622 Typo corrected in README.md

Multi platform support

#703 network order functionality changed based on endianess
#686 update the LIB_DIR for s390x
#650 Build tar.gz for ppc64le, arm and arm64 arch
#547 Modifying pkg/ip/ipnet.go to fix endian problem

Build changes and small code cleanups

#689 Add iptables binaries
#690 Update kube-flannel.yml to use 0.7.1 flannel image
#687 vendor: remove files not needed for building
#684 Makefile: add libpthread* to make clean
#669 Makefile: Fix the releases target
#662 Makefile: Use $(CURDIR)
#597 vendor: Revendor with more sensible pinnings
#645 functional-test: Add a simple bandwidth test
#658 Fix various little problems found by gometalinter
#629 Backends: Remove Run() from interface as it's not used
#697 main.go: Remove a reference to client/server mode
#631 subnet: Move etcd files into their own package.
#594 README: Update build instructions
#575 backend/vxlan: Make variables more verbose
#744 Makefile: Smaller flanneld binary

Kubernetes integration changes

#665 Explicit operator: Exists to allow toleration on masters
#652 kube-flannel: Add namespace for compatibility with RBAC rules
#618 Tolerate flannel running on master nodes
#614 Simplify rbac creation process
#593 Documentation: Update releases to v0.7.0
#591 Add Kubernetes RBAC support
#600 [doc][kube-flannel] set explicit arch on daemonset images
#729 Allow more events to be buffered before the backend starts

v0.8.0-rc1

17 May 23:49
b366263
Compare
Choose a tag to compare
v0.8.0-rc1 Pre-release
Pre-release

This is an early release candidate for the upcoming flannel v0.8.0 release with the goal of getting community feedback from the new (and removed) features.

Please provide feedback through one of the following channels:

  • Slack: #flannel on Calico Users Slack
  • Mailing list: coreos-dev
  • IRC: #coreos on freenode.org

The following PRs are in this release:

New features

#701 backend/extension: Introduce new extension backend
#717 aws-vpc: add support for multiple route tables
#571 Add ali cloud VPC network support

Removed features

#633 Remove the experimental support for multiple networks.
#606 remote: Remove experimental remote support

Bug fixes

#675 subnet/etcdv2: Fix panic from bad error contruction
#693 Keep route: [ 0.0.0.0/0 via ECS instance ] to work with alicloud DNAT…

Documentation improvements

#714 docs: adding CNI plugin note.
#715 docs: adding pointer to reservations.md.
#713 docs: adding MTU note.
#679 flannel-docs: Updating flannel Documents files.
#682 Flannel ReadMe: Added Tom's notes.
#700 Add templates for PRs/Issues
#707 Fixes typo
#702 bill-of-materials: initial commit
#656 Documentation: Split README into multiple files
#625 added production users and integrations pages
#622 Typo corrected in README.md

Multi platform support

#703 network order functionality changed based on endianess
#686 update the LIB_DIR for s390x
#650 Build tar.gz for ppc64le, arm and arm64 arch
#547 Modifying pkg/ip/ipnet.go to fix endian problem

Build changes and small code cleanups

#689 Add iptables binaries
#690 Update kube-flannel.yml to use 0.7.1 flannel image
#687 vendor: remove files not needed for building
#684 Makefile: add libpthread* to make clean
#669 Makefile: Fix the releases target
#662 Makefile: Use $(CURDIR)
#597 vendor: Revendor with more sensible pinnings
#645 functional-test: Add a simple bandwidth test
#658 Fix various little problems found by gometalinter
#629 Backends: Remove Run() from interface as it's not used
#697 main.go: Remove a reference to client/server mode
#631 subnet: Move etcd files into their own package.
#594 README: Update build instructions
#575 backend/vxlan: Make variables more verbose

Kubernetes integration changes

#665 Explicit operator: Exists to allow toleration on masters
#652 kube-flannel: Add namespace for compatibility with RBAC rules
#618 Tolerate flannel running on master nodes
#614 Simplify rbac creation process
#593 Documentation: Update releases to v0.7.0
#591 Add Kubernetes RBAC support
#600 [doc][kube-flannel] set explicit arch on daemonset images

v0.7.1

19 Apr 02:55
683c6e9
Compare
Choose a tag to compare

This is primarily a bug fix release which has the following key fixes and improvements.

  • switch kube subnet manager to PATCH #681
  • Build tar.gz for ppc64le, arm and arm64 arch #650
  • backend/hostgw: Fix memory leak #630
  • backend/vxlan: Don't recreate vxlan device on flanneld restart #628
  • Also a number of small PRs for Kubernetes 1.6 compatibility

Kube Subnet Manager

10 Jan 18:21
Compare
Choose a tag to compare

This release introduces a new experimental feature. The Kubernetes API server can now be used as a datastore instead of etcd. This makes deployment easier as flannel no longer directly relies on the presence of an etcd server. To use it, pass the -kube-subnet-mgr option to the flannel daemon.

This release also contains a large number of merged PRs (thanks everyone for all your contributions, please keep them coming) and some other build, documentation and other minor improvements.

Key PRs merged

kubernetes API server as datastore
#483 add a subnet manager backed by the kubernetes apiserver
#564 Improve kube subnet lease handling
#518 Fix the kube-flannel.yaml in order to work

AWS backend
#540 AWS VPC backend fixes and cleanups
#523 aws-vpc: Fix crash when route has vpc-endpoints
#524 aws-vpc: remove "blackholes"
#507 Update aws-vpc-backend.md

Key Bug fixes
#522 Fixed #521: flanneld hang on at initialEvtsBatch := <-evts because of…
#495 The docker daemon syntax change addressed
#576: backend/vxlan: Set the netmask of the IP used for the vxlan device

Logging
#565 network manager: Improve logging
#555 vxlan logging verbosity
#574: backend/vxlan: Improve the comments and logging

Testing
#490 Add functional (end-to-end) testing
#503 Run e2e tests on travis