Knative improves memory as it ages and hits 0.4


Google-backed serverless-on-Kubernetes project Knative is now available in v0.4, improving configuration, network protocol support, and secret management.

To facilitate more flexible dealings with confidential as well as non-confidential data, Knative 0.4 allows mounting Secrets and ConfigMaps as volumes to the platform. It also comes with support for HTTP2 and gRPC for h2c ports, since users were looking for networking options aside the previously solely available HTTP. On top of that, inbound HTTP connections can now be upgraded for WebSockets.

With cold-starts, the up-scaling of a set to zero workload, still a problem, Serverless enthusiasts might be glad to hear that the latency in such scenarios could be reduced in Knative v0.4. This was done by immediately sending stats from the activator to the autoscaler and letting the system scale up as soon as at the latter received them. An additional throttle function helps to not overload single pods during initial traffic bursts.

Speaking of efficiency, v0.4 of the eventing module comes with a new implementation of the in-memory channel. While the previous one worked as a sort of proxy, the new channel buffers events, decoupling sender and receiver. Several eventing resources now also emit additional information to improve debugging and a Knative-message-history attribute records the channels traversed by an event.

While updating, Knative will now preserve previously set ConfigMap values, since the project’s default settings have been moved into the code. Like that, users shouldn’t have to start configuring anew with every new release. This might come in handy since the release cadence seems to slowly stabilise.

Those working with v0.3 will need to reconfigure their DNS to point to the IP address that can be found via the istio-ingressgateway before making the switch to the new release. They also have to get rid of the knative-ingressgateway service and deployment, since the project team is slowly removing its custom Istio IngressGateway to make the platform play nice with multiple service mesh versions.

If Istio isn’t a good fit for your system anyway, there’s now also an option to change the default ClusterIngress controller to something else.

Knative is a platform to build, deploy, and manage serverless workloads. It is based on the Kubernetes container orchestrator and contains of a serving, a build and an eventing part.

The project was introduced back in Summer 2018 by Google, SAP, Pivotal, IBM, and Red Hat as a project for platform builders.