github cloudnativelabs/kube-router v2.0.0-rc1

latest releases: v2.2.1, v2.2.0, v2.1.3...
pre-release20 months ago

Summary

This is a pre-release or release candidate for the upcoming v2.0.0 release of kube-router. The most prominent feature of this release is the addition of dual-stack support for some parts of kube-router. With this release candidate, the following functions have been upgraded to be dual-stack compatible:

  • CNI Supports Dual-Stack
  • Router / BGP Supports Dual-Stack
  • Network Policies Supports Dual-Stack

The major outlier here being the Proxy (--run-service-proxy) portion of kube-router has not had dual-stack support integrated yet. Also, this represents a major refactor on the kube-router code base, so it would be good to get this tested in at least a few different environments before forming a full release.

You'll also notice that this has been tagged as a major release version. This is due to the fact that there are breaking changes in this version of kube-router that are not backwards compatible with previous versions of kube-router. Specifically, tunnel names have changed, so if you run kube-router with an overlay network (ipip tunnels), you'll want to deploy this update carefully. At this point, the project recommends doing a rolling-reboot of nodes after the application of this release candidate to ensure that unused tunnels are properly cleaned up and don't have a negative impact on traffic flows.

More details about this release will be shared in the IPv6 / Dual-Stack documentation page shortly: https://github.com/cloudnativelabs/kube-router/blob/master/docs/ipv6.md

Contributions

The kube-router project would like to give a big thanks to @vadorovsky and @thomasferrandiz who graciously contributed all of the dual-stack functionality for the Network Policy Controller!

Changelog

  • a9b8adf - fix(NPC): add warning for unsupported family <Aaron U'Ren>
  • 74a0803 - fix(NPC): don't add chains for missing family <Aaron U'Ren>
  • abcefb4 - doc(bgp.md): clean up grammar and syntax <Aaron U'Ren>
  • f4668fd - fix(NPC/pod): check drop policy on ipv4 & ipv6 <Aaron U'Ren>
  • 6bd6d94 - fix(bgp_policies): add empty DS set checking <Aaron U'Ren>
  • ae15ebb - fact(bgp_policies): rename clusterIPPrefixSet -> serviceVIPIPPrefixSet <Aaron U'Ren>
  • ed29baa - fact(bgp_policies): abstract get DS for GoBGP <Aaron U'Ren>
  • 6a1bab2 - fix(ecmp_vip): handle ipv4 & ipv6 protocols <Aaron U'Ren>
  • 437da14 - test(bgp_policies_test): add local address <Aaron U'Ren>
  • 3129bf2 - fix(node): do nil checking on FindBestIP util funcs <Aaron U'Ren>
  • 8183b18 - fix(NRC): ensure local addr IP is bindable early <Aaron U'Ren>
  • bd0d00f - fix(bgp_peers): adv. AfiSafi based on capabability <Aaron U'Ren>
  • b714bba - fix(bgp_peers): do peer only if IP protos match <Aaron U'Ren>
  • 230aa58 - fix(NRC): error when nec. host IP not found <Aaron U'Ren>
  • dd7c47e - fix(NRC): add IPv6 logic to bgp-local-addresses <Aaron U'Ren>
  • 70b3f30 - feat(ci): run CI on version prep branches and MRs <Aaron U'Ren>
  • e4e1088 - fix(options): make clusterIP specification similar to other options <Aaron U'Ren>
  • 93d6169 - fix(NPC): actually separate chain indices for ipv4 / ipv6 <Aaron U'Ren>
  • ef72d90 - fact(NPC): pluralize newIPTablesHandler <Aaron U'Ren>
  • 5fb874f - feat(NRC): make NRC dual stack <Aaron U'Ren>
  • 35b3f37 - fact(NRC): convert BGP set names to const <Aaron U'Ren>
  • d27f2fe - feat(pod_cidr): handle multiple pod CIDRs <Aaron U'Ren>
  • 51d7db8 - fix(kube-router.go): metric message -> not error <Aaron U'Ren>
  • eb4e6f9 - fix(NPC): separate chain indices for ipv4 / ipv6 <Aaron U'Ren>
  • d128b17 - fix(node.go): make node address errors more helpful <Aaron U'Ren>
  • 06c39d6 - fix golangci issues <Thomas Ferrandiz>
  • bdc0600 - fix test compilation error <Thomas Ferrandiz>
  • 9e8ee3a - go mod <Thomas Ferrandiz>
  • 59a4fa1 - use createGenericHashIPSet <Thomas Ferrandiz>
  • b1181f1 - rename utilsnet import to netutils <Thomas Ferrandiz>
  • cba00b2 - syncPodFirewallChains: loop on all NodeIp to find the pods running on a given Node - Load PodIp in podInfo struct and use it instead of pod.ips[0].IP <Thomas Ferrandiz>
  • 3958095 - refactor whitelisting of cluster IP Range <Thomas Ferrandiz>
  • 1433bee - Validate that ClusterIP service range type matches the configuration and update documentation <Thomas Ferrandiz>
  • 9aa7bcd - godoc update <Thomas Ferrandiz>
  • 344b3cd - remove redundant default value <Thomas Ferrandiz>
  • 318a29c - rename Adresses <Thomas Ferrandiz>
  • a7e5803 - Turn IPTablesSaveRestore into an interface <Thomas Ferrandiz>
  • 033444b - init iptablesCmdHandlers and ipSetHandlers inside NewNetworkPolicyController <Thomas Ferrandiz>
  • a38c97c - disable ipv6 by default <Thomas Ferrandiz>
  • 1bc0435 - netpol: Add dual-stack support <Michal Rostecki>

Don't miss a new kube-router release

NewReleases is sending notifications on new releases.