Releases: cloudnativelabs/kube-router
v0.2.0-beta.9
v0.2.0-beta.8
This release has a critical fix to network policy implementation and an enhancement to network policy semantics also included several minor fixes.
Thanks to contributions from @johanot @andor44 @lubinsz
Changelog
57f4eea Implemented the use of both namespaceSelector and podSelector in network policy peers (#475) (#479)
9934119 Fix nwplcy re-sync issue (#477) (#478)
3a09fda enable build on Arm platform (#445)
17f92de Health 1 (#463)
58da2d4 Fix for network policy connection refused issue (#461) (#471)
7c21815 Report delay metrics as seconds, not nanos (#465)
v0.2.0-beta.7
We are excited to release a new version of kube-router. Kube-router now can be used with other CNI's like Flannel/Weave to advertise service VIP's to routers in your network fabric.
Set below flag to false
--enable-cni Enable CNI plugin. Disable if you want to use kube-router features alongside another CNI plugin. (default true)
and enable one the flags as per your requirement.
--advertise-cluster-ip Add Cluster IP of the service to the RIB so that it gets advertises to the BGP peers.
--advertise-external-ip Add External IP of service to the RIB so that it gets advertised to the BGP peers.
--advertise-loadbalancer-ip Add LoadbBalancer IP of service status as set by the LB provider to the RIB so that it gets advertised to the BGP peers.
--advertise-pod-cidr Add Node's POD cidr to the RIB so that it gets advertised to the BGP peers. (default true)
This release also fixes a regression due to which DSR functionality was not usable.
Changelog
327a46d fix race condition issues with health checks (#460)
5c6a24d Fix NPE when performing cleanup() (#458)
1c7866c Allow CNI plugin to be disabled (#443)
5e4ca29 set iBGP export policies only if its enabled (#453)
0809548 closes #413 (#457)
6887ce7 add proper message when reading pod CIDR from cni conf file (#450)
d63c23a proxy: Fix ineffassign error (#447)
v0.2.0-beta.6
This is a bug-fix release which has two critical bug fixes.
8aa4324 fixes a routing issue where a node missing route entries to talk to pods on other nodes in different subnets.
380a476 fixes an issue where nodes exchanges routes for pod CIDR's immediately as and when a new node comes up.
Changelog
abfb705 services: correct check for inactive service endpoints (#430)
380a476 update export polices onNodeUpdate so the routes are exchanged with new node immediatley (#441)
8aa4324 adds explicit check for existing tunnel to avoid partial matches (#442)
5421068 Print output of ip route command as string. (#439)
0538a2a perform clean-up of external ip from custom route table for external ip only if the table is not empty (#437)
v0.2.0-beta.5
This release v0.2.0-beta.5 is mainly a bug fix release and includes some critical bug fixes.
- Fixes issue where there is delay of 5 min (default sync period) before external peers get advertised with service VIP's
- On service delete, VIP's associated with service were not withdrawn ealirer.
With the above fixes, external BGP peers should see service VIP's advertised by the kube-router pods instantly and also on service delete routes are withdrwan.
-
Also included are patches that control source IP used for the traffic send over tunnel interface. Always node IP is used as source IP address when sending traffic over IPIP tunnel interfaces
-
Fixes regression in network policies where is namespace selector in network policy was not honoured
Thanks to @dlamotte for the fixes to handle cleanups of service VIP associated with kube-dummy-if when service are deleted.
Changelog
6d86656 fix wrong use of advertiseVIPs where withdrawVIPs is required (#436)
b0733cb update clusteripprefixset so that BGP export policies allow advertising the service VIP (#435)
725bff6 use node ip as source when accessing service VIP's from the node (#433)
359ab1d explicilty specify source IP to use when send traffic over tunnels (#428)
2f39f98 cleanup routing table 79 (external IPs) (#431)
0a9b164 Update kubeadm iptables cleanup command (#424)
09b2f13 fix the wrong lister used (#422)
05b702a [WIP] docs cleanup (#418)
dfca917 proxy: cleanup stale IPs on kube-dummy-if (#417)
e13b771 Add DigitalOcean Sponsorship (#414)
27d51cd add docs/index.md for mkdocs (#416)
v0.2.0-beta.4
Changelog
Ability to enable/disable node advertising its pod CIDR to external BGP peers (#408) - @murali-reddy
split routing controllers to smaller modules by function (#406) - @murali-reddy
break controller package to independent packages (#405) - @murali-reddy
move health, metrics to sepearate packages (#404) - @murali-reddy
update gobgp to d31262d which fixes critical bug with BGP graceful restarts (#403) - @andrewsykim
Full Commit History
89aef2c go-releaser: update binary path
c044162 only push new docker image on release
682c494 remove release task in travis CI (#409)
41332a1 Ability to enable/disable node advertising its pod CIDR to external BGP peers (#408)
23d4362 split routing controllers to smaller modules by function (#406)
05bec8b break controller package to independent packages (#405)
1a0bfa2 move health, metrics to sepearate packages (#404)
6eece2d update gobgp to d31262d for BGP graceful restart fixes (#403)
v0.2.0-beta.3
Kube-router v0.2.0-beta.3 release is mainly follow-up release to the internal code refactoring done in v0.2.0-beta.2 and v0.2.0-beta.1
Breaking Change
Kube-router internal started using SharedInformerFactory which has a resync period. When resync period value great that 0 is specified, informer in go-client replays all the cached object, resulting in unnessary updates and processing. Since kube-router controllers already has periodc full sync periodic replay of objects is not required. Hence the flag --config-sync-period is deprecated.
Major Changes
af9875d Replace glide depenedency management with dep
71d16bf Code is restructured to confirm to standard go projects format
041c055 Optimizations to improve the periodic sync's done by the controllers
a1ecedf Some more optimization to perform full-sync in the controllers only when needed
8c746b2 Make GoBGP server listen only on node IP
v0.2.0-beta.2
Changelog
- only sync internal peers for OnAdd or OnDelete events
- ignore update events for endpoints used for leader election
- setting annotation
kube-router.io/service.localon a Service should result in the same behavior as settingexternalTrafficPolicy=Localfor route advertisement
Full Commit History
945a13c skip node OnUpdate events (#391)
6ba2e94 ignore update events for endpoints used for leader election (#390)
dd5d2fa Osxcompat 1 (#377)
28f10ff add local endpoints check if annotation kube-router.io/service.local is set (#388)
v0.2.0-beta.1
Changelog
- Add service/endpoints handlers so BGP routes are added/removed as soon as service/endpoints updates occur (@andrewsykim)
- Networkpolicies should account for pods that are not given a pod IP yet (@xanonid)
- Refactor to use shared informers (@andrewsykim)
- Fix bug where default ASN is used for iBGP peering when cluster ASN is set (@andrewsykim)
- Support advertising
service.Status.LoadBalancer.IngressIPs with flag--advertise-loadbalancer-ip(@jjo) - Add delay for AWS EC2 operations and only make API calls if kube-router has the necessary IAM roles (@murali-reddy)
- Add unit tests
Test_addExportPolicies(@andrewsykim) - Allow advertise pod CIDR to be set using a node annotation
kube-router.io/pod-cidr, this will override the pod CIDR specified in node.Spec.PodCIDR(@andrewsykim) - Withdraw VIP routes if
service.Spec.ExternalTrafficPolicy=Localand a node does not contain healthy endpoints for a service (@TvL2386)
Full Change History
1fcf5db add CHANGELOG (#387)
ab08c31 add service/endpoint event handler for routes controller (#384)
e94bf3d Fix networkpolicies if there are unscheduled pod, log errors (#378) (#379)
3763b20 refactor to use shared informers (#373)
ed0dc39 [jjo] added network_services_controller ginkgo testing (#348)
4fd5cb8 update command line options documentation (#372)
ed34187 Fixed the /var/run/docker.sock permissions in the DSR example (#368)
398ba8b Fixed a typo (#367)
2a4ffd6 fix bug where default ASN is used for iBGP peering when cluster ASN (#362)
5436a73 glide update, to get pull latest dependencies (#365)
559304f fix --advertise-loadbalancer-ips for LoadBalancer w/o IPs (#355)
696d701 clear state of global service/endpoint watcher in Test_addExportPolicies (#353)
bf5c11f [jjo] support advertising status.loadBalancer.ingress IPs via flag (#354)
35482c5 add 1s deley between ec2 API calls, and check if node has ec2 IAM (#351)
f708b14 fix UT test case (#352)
6a8e707 allow pod CIDR to be set using node annotations (#345)
25923be Test_addExportPolicies (#333)
035a9a8 withdraw ClusterIP bgp route for externalTrafficPolicy=Local when there are no local endpoints (#347)
3956ad7 Update README.md
acb3dd4 use constants for all annotations (#346)
faead6d Dockefile: use ADD instead of COPY and rearrange (#340)
v0.1.0
We are excited to bring new release with awesome new features and bug-fixes. Thanks to all users who provided valuable feedback and reported issues.
New features
- Kube-router now has support for BGP route-reflector functionality. Big shout out to @ut0mt8 for contributing route reflector feature. Read the docs how you can use route-reflector functionality.
- Kube-router now has support for
HostPortsupport. Please read the docs to useHostPortfunctionality. - Kube-router now complements the existing support for
externalTrafficPolicy=Localwith node advertising the service VIP's to BGP peer routers only if it has atlease one endpoint correspondng to service.
Changelog
9b6bf95 limit disableSrcDstCheck performed on OnNodeUpdate() (#327)
d72c410 close docker client after use (#343)
d7d0223 [WIP] support for Hostport (#335)
c7ce398 [jjo] add arm cross-compile support (#336)
4902a0c route advertisement should account for services using externalTrafficPolicy=Local (#334)
4e768b1 Feature Route Reflector (#325)
df6b375 AWS: perform disable src-dst check only if node has necessary IAM. Also introduce delay (#319)
31402a5 fix Pod Toolbox documentation issue (#318)
f68372e Update network_policy_controller.go (#315)
8c21111 Adding --version / -V support to print version information (#312)
2147b09 Dockerfile: Updated to alpine:3.7. (#306)
Automated with GoReleaser
Built with go version go1.8.3 linux/amd64