Releases: flannel-io/flannel
v0.12.0
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
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
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.
- The CNI configuration is now specified as a
- 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
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
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
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
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
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
This is primarily a bug fix release which has the following key fixes and improvements.
Kube Subnet Manager
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