@tomdee tomdee released this Jan 23, 2018 · 44 commits to master since this release

Assets 14

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)

@tomdee tomdee released this Nov 16, 2017 · 129 commits to master since this release

Assets 12

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

@tomdee tomdee released this Sep 22, 2017 · 129 commits to master since this release

Assets 12

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

Pre-release

@tomdee tomdee released this Sep 18, 2017 · 138 commits to master since this release

Assets 12

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

@tomdee tomdee released this Jul 11, 2017 · 167 commits to master since this release

Assets 12

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

Jun 22, 2017
Merge pull request #752 from mgleung/prev-lease
flannel reads from created subnet.env file on startup
Pre-release
Pre-release

@tomdee tomdee released this May 17, 2017 · 202 commits to master since this release

Assets 17

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

@tomdee tomdee released this Apr 19, 2017

Assets 14

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

@tomdee tomdee released this Jan 10, 2017 · 311 commits to master since this release

Assets 11

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