Featured image for a blog article titled Kuma 2.5 release with advanced locality-aware load-balancing, new policies GA and auto-reachable services.

We’re excited to announce the release of Kuma 2.5, a new minor release packed with exciting features such as advanced locality-aware load balancing, auto-reachable services, and targetRef based policies becoming GA.

Upgrading

We strongly suggest upgrading to Kuma 2.5.0. Upgrading is easy through kumactl or Helm. Be sure to carefully read the Upgrade Guide before upgrading Kuma.

Notable features:

  • 🚀 Advanced locality-aware load balancing inside and across zones helps you achieve cost savings and high reliability, even in the most constrained environments.
  • 🚀 Reachable services can now be derived from MeshTrafficPermissions to get performance improvements for free.
  • 🚀 Support for Gateway API v1 following Gateway APIs first GA release!
  • 🚀 Delta KDS is now enabled by default. This greatly reduces the resource consumption of the Global CP / Zone CP protocol.
  • 🚀 Many improvements to the GUI.
  • 🚀 Upgrade to Envoy 1.28.

And a lot more! Check out the full release notes to see everything in this release.

Advanced locality aware load balancing

As teased in a Kong blog post advanced locality-aware is the biggest feature of 2.5.0.

It has two main components:

  • Locality-aware load balancing within a zone can be helpful in saving costs for zones that may span multiple network boundaries, such as AWS Availability Zones.
  • Locality-aware load-balancing across zones which can help you achieve strong reliability while respecting some organizational constraints.

This feature is built in the existing MeshLoadBalancingStrategy policy and replaces the existing locality awareness that was set at the mesh level.

Check the blogpost above, the MADR or the docs for more details on this new feature.

Inferring reachable services from MeshTrafficPermission

Service Meshes by default enable a fully connected graph of services. This is problematic as we can’t naively optimize which instance of the mesh needs to know of which services. The result of this is a growing size of configuration, and the sidecar footprint becoming non-negligible.

For a while we’ve addressed this problem with reachable services. However, this can be hard to manage in large setups without strong central deployment processes. What we’ve noticed is that MeshTrafficPermissions can help us do some pruning and reduce the complexity of this graph.

This feature is currently disabled by default and you can enable it by setting: KUMA_EXPERIMENTAL_AUTO_REACHABLE_SERVICES=true.

For more details on this feature checkout its docs.

Gateway API 1.0 GA

We’ve supported Gateway API for a long time for our gateways and recently added support for service to service routing with GAMMA.

We are excited to see this project graduate to GA and updated our support to fully support it. We will keep working in this community to further improve service mesh support in Gateway API.

Delta KDS as default

KDS (Kuma discovery service) is the protocol based on Envoy XDS which we use to synchronize global control-planes and zonal control-planes. As the size of Kuma installations grow the resource consumption has grown significantly and resource consumption can become undesirably big. We’ve released the first version of our rewrite of KDS in 2.3.0 and we believe that the protocol is now ready to be used by default.

The transition from the old to the new protocol is seamless so you don’t have to worry about it. You will also be able to revert to the v1 for the coming 2 minor versions by setting KUMA_EXPERIMENTAL_KDS_DELTA_ENABLED=false.

If you encounter any issues to not hesitate to report an issue.

Join the community!

Join us on our community channels, including official Slack chat, to learn more about Kuma. The community channels are useful for getting up and running with Kuma, as well as for learning how to contribute to and discuss the project roadmap. Kuma is a CNCF Sandbox project: neutral, open and inclusive.

The community call is hosted on the second Wednesday of every Month at 8:30am PDT. And don’t forget to follow Kuma on Twitter and star it on GitHub!

Get Community Updates

Sign up for our Kuma community newsletter to get the most recent updates and product announcements.