Happy New Year! To kick off 2020, we’re proud to announce Kuma’s 0.3.2 release that includes long, anticipated features. The most prominent one is Kong Gateway support for ingress into your Kuma mesh. Another exciting feature that was widely requested is Prometheus support, which will enable you to scrape your applications’ metrics. Lastly, we announced the Kuma GUI in the last release. Thanks to a lot of early feedback, we’ve added many exciting improvements in this release.

You can take a look at the full changelog here (opens new window).

# Kong Gateway Support

The Dataplane can now operate in Gateway mode (opens new window), which enables Kuma to integrate with existing API gateways like Kong (opens new window). Kong would handle all external, client-facing routing, policies, documentation and metrics, while load-balancing and service-to-service policy enforcement are performed through Kuma. This flexible architecture allows management of east-west traffic with Kuma while benefiting from the capabilities of Kong for all north-south traffic.

Here is an example of how to deploy the data plane alongside your Kong gateway:

type: Dataplane
mesh: default
name: kong
networking:
  gateway:
    tags:
      service: kong
  outbound:
  - interface: :33033
    service: frontend
1
2
3
4
5
6
7
8
9
10

You define an outbound service as you would usually do, but replace the inbound service with the gateway tag. The data plane will then operate in gateway mode. Otherwise, clients would have to be provided with certificates that are generated dynamically for communication between services within the mesh.

# Prometheus Metrics

Prometheus, which collects and indexes monitoring data, has been a widely requested integration. This will enable you to have more visibility about what is happening with the Kuma mesh.

To run Prometheus, just update the mesh resource with the new metrics tag:

type: Mesh
name: default
mtls:
  enabled: true
  ca:
    builtin: {}
metrics:
  prometheus: {}
1
2
3
4
5
6
7
8

The only difference between the universal and Kubernetes deployment is the new kuma-prometheus-sd process included in the Kuma package. kuma-prometheus-sd process will maintain a connection to Kuma Control Plane when you deploy in Universal mode and save a list of dataplanes for Prometheus to scrape metrics from. In Kubernetes, you do not need to use kuma-prometheus-sd so it takes slightly less time to get up and running. Full examples for both deployment modes can be found in our demo marketplace repository (opens new window) or read more about it in the documentation (opens new window).

# GUI

When launching our latest iteration of the Kuma GUI, you’ll be welcomed with some nice, new features and fixes that make the experience smoother, while also giving you a helpful at-a-glance overview of all of your data planes, meshes and policies. Here are some things you can expect:

# Wizard

The Wizard will help you get started with the GUI, while also providing some helpful links to documentation and the next steps. It will detect things like when you’ve switched from Universal to Kubernetes and vice-versa, and it will also provide the status of your data planes.

# Improved Mesh Overview

We’ve improved the mesh overview page to provide you with general statistics about your mesh, such as how many dataplanes are associated with it, as well as Health Checks, Traffic Routes, etc. We’ve also added a convenient way to copy entities to your clipboard in YAML format so that you can quickly store them for reference or use in the command line.

# Improved Data Tables

We’ve improved the data tables on all overviews to provide features like color-coded statuses, human-readable connection and update times, as well as a simple way to view and copy your entities in YAML format with ease.

# Under the Hood

Aside from the aforementioned features and changes, we’ve also made a ton of under-the-hood improvements for things like error handling, a tighter connection between Kuma itself and the GUI, as well as various bug fixes and small changes that were brought to our attention by the amazing open source community.

We hope that you find these changes and features useful! If you would like to read more about this release, you can refer to this pull request for more details.

# Community Calls + Slack

Join us on our community channels (opens new window) to learn more about Kuma, including our official Slack chat! The community channels are useful to get up and running with Kuma, as well as to learn how to contribute to and discuss the project roadmap.

# Upgrading

Be sure to carefully read the Upgrade Guide (opens new window) before upgrading Kuma.