What’s New in Kong Ingress Controller 2.12?
API Summit 2023 has just concluded, with awesome announcements including the launch of Kong Mesh in Konnect, and Dedicated Cloud Gateways. In addition to launching new capabilities, we also ensured that our existing products continue to grow and deliver value. With that in mind, I’m pleased to announce the immediate availability of Kong Ingress Controller 2.12.
KIC 2.12 is an LTS release
Kong offers Kong Ingress Controller 2.5 as a Long Term Support (LTS) release today. LTS versions of Kong Ingress Controller are supported for three years after release, compared to the standard one-year support window on general releases.
Until now, you had to decide between choosing KIC 2.5 LTS, or adopting great new features such as Gateway Discovery, debugging with Kubernetes events, and the ability to scale out pods using the last-known good configuration.
With the release of KIC 2.12, you don’t have to choose anymore. You can get all these awesome features and the confidence that the release will be supported for the next three years.
If you’re not running KIC 2.12 yet, I recommend you update today to take advantage of all the available capabilities and support.
Rewrite annotations
Speaking of capabilities, it’s time to look at my favorite feature in KIC 2.12: rewrite annotations. KIC has supported rewriting incoming requests for a while thanks to the KongPlugin resource and Kong Gateway’s request transformer plugin. KIC 2.12 adds annotation based rewriting to make this functionality even more accessible.
The konghq.com/rewrite
annotation allows you to match patterns in your ingress path and rewrite them on the fly. This allows you to provide a cohesive API interface to your consumers without needing to update your upstream services to match the new paths.
Here’s an example that will accept a client request to /v2/users
and convert that to /api/2/call/users
in the request to the upstream:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: proxy-from-k8s-to-httpbin
annotations:
konghq.com/rewrite: /api/$1/call/$2
spec:
ingressClassName: kong
rules:
- http:
paths:
- path: /~/v(\d+)/(.*)
pathType: ImplementationSpecific
backend:
service:
name: proxy-to-httpbin
port:
number: 80
The rewrite annotation is a great example of KIC being able to expose Kong Gateway’s powerful functionality in a way that makes it easy for operators to interact with.
Latency-aware routing
It wouldn’t be a KIC release without the addition of a small tuning option for Kong Gateway. KIC 2.12 adds support for the latency balancing algorithm in Kong Gateway.
The latency algorithm is based on peak EWMA (exponentially weighted moving average), which ensures that the balancer selects the upstream target by lowest latency. For more information, see the Kong Gateway documentation.
You can try it out today by setting the upstream.algorithm
value to latency in your KongIngress resource.
Gateway API
The Kubernetes Gateway API is getting even better with each release, and KIC 2.12 brings us up to date with the Gateway API v0.8.1 release.
In addition to passing all of the core conformance tests, we’ve added support for both TCPRoute and UDPRoute when using the expressions router in Kong Gateway. The expressions router is the key to supporting advanced use cases such as query string routing in the future, and we’re pleased to continue investing in this area.
If you’re not familiar with the Gateway API, I recommend digging in. It’s much more powerful than the Ingress resource, with support for weighted routing, multiple hostnames, and gRPC routing out of the box.
If you’d like to learn more about Gateway API, you can watch “State of Gateways on Kubernetes” from API Summit 2023 on-demand here.
Try Kong Ingress Controller 2.12
For a full list of features, fixes, and updates please see the CHANGELOG.
As always, the quickest way to get started with KIC 2.12 is with Kong Konnect thanks to our KIC in Kong Konnect functionality.