apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
...
...
spec:
config:
features:
new-trigger-filters: enabled
...
For additional information about the OpenShift Serverless life cycle and supported platforms, refer to the Platform Life Cycle Policy. |
Release notes contain information about new and deprecated features, breaking changes, and known issues. The following release notes apply for the most recent OpenShift Serverless releases on Red Hat OpenShift Service on AWS.
For an overview of OpenShift Serverless functionality, see About OpenShift Serverless.
OpenShift Serverless is based on the open source Knative project. For details about the latest Knative component releases, see the Knative blog. |
API versions are an important measure of the development status of certain features and custom resources in OpenShift Serverless. Creating resources on your cluster that do not use the correct API version can cause issues in your deployment.
The OpenShift Serverless Operator automatically upgrades older resources that use deprecated versions of APIs to use the latest version. For example, if you have created resources on your cluster that use older versions of the ApiServerSource
API, such as v1beta1
, the OpenShift Serverless Operator automatically updates these resources to use the v1
version of the API when this is available and the v1beta1
version is deprecated.
After they have been deprecated, older versions of APIs might be removed in any upcoming release. Using deprecated versions of APIs does not cause resources to fail. However, if you try to use a version of an API that has been removed, it will cause resources to fail. Ensure that your manifests are updated to use the latest version to avoid issues.
Features which are Generally Available (GA) are fully supported and are suitable for production use. Technology Preview (TP) features are experimental features and are not intended for production use. See the Technology Preview scope of support on the Red Hat Customer Portal for more information about TP features.
The following table provides information about which OpenShift Serverless features are GA and which are TP:
Feature | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 |
---|---|---|---|---|---|
|
TP |
TP |
TP |
GA |
GA |
Service Mesh mTLS |
GA |
GA |
GA |
GA |
GA |
|
GA |
GA |
GA |
GA |
GA |
HTTPS redirection |
GA |
GA |
GA |
GA |
GA |
Kafka broker |
TP |
TP |
GA |
GA |
GA |
Kafka sink |
TP |
TP |
TP |
TP |
TP |
Init containers support for Knative services |
TP |
GA |
GA |
GA |
GA |
PVC support for Knative services |
TP |
TP |
TP |
GA |
GA |
TLS for internal traffic |
- |
- |
TP |
TP |
TP |
Namespace-scoped brokers |
- |
- |
- |
- |
TP |
Some features that were Generally Available (GA) or a Technology Preview (TP) in previous releases have been deprecated or removed. Deprecated functionality is still included in OpenShift Serverless and continues to be supported; however, it will be removed in a future release of this product and is not recommended for new deployments.
For the most recent list of major functionality deprecated and removed within OpenShift Serverless, refer to the following table:
Feature | 1.23 to 1.26 | 1.27 |
---|---|---|
|
Removed |
Removed |
|
Removed |
Removed |
Serving and Eventing |
- |
Deprecated |
OpenShift Serverless 1.27 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on Red Hat OpenShift Service on AWS are included in this topic.
OpenShift Serverless 1.26 is the earliest release that is fully supported on Red Hat OpenShift Service on AWS 4.12. OpenShift Serverless 1.25 and older does not deploy on Red Hat OpenShift Service on AWS 4.12. For this reason, before upgrading Red Hat OpenShift Service on AWS to version 4.12, first upgrade OpenShift Serverless to version 1.26 or 1.27. |
OpenShift Serverless now uses Knative Serving 1.6.
OpenShift Serverless now uses Knative Eventing 1.6.
OpenShift Serverless now uses Kourier 1.6.
OpenShift Serverless now uses Knative (kn
) CLI 1.6.
OpenShift Serverless now uses Knative Kafka 1.6.
The kn func
CLI plug-in now uses func
1.8.1.
Namespace-scoped brokers are now available as a Technology Preview. Such brokers can be used, for instance, to implement role-based access control (RBAC) policies.
KafkaSink
now uses the CloudEvent
binary content mode by default. The binary content mode is more efficient than the structured mode because it uses headers in its body instead of a CloudEvent
. For example, for the HTTP protocol, it uses HTTP headers.
You can now use the gRPC framework over the HTTP/2 protocol for external traffic using the OpenShift Route on Red Hat OpenShift Service on AWS 4.10 and later. This improves efficiency and speed of the communications between the client and server.
API version v1alpha1
of the Knative Operator Serving and Eventings CRDs is deprecated in 1.27. It will be removed in future versions. Red Hat strongly recommends to use the v1beta1
version instead. This does not affect the existing installations, because CRDs are updated automatically when upgrading the Serverless Operator.
The delivery timeout feature is now enabled by default. It allows you to specify the timeout for each sent HTTP request. The feature remains a Technology Preview.
Previously, Knative services sometimes did not get into the Ready
state, reporting waiting for the load balancer to be ready. This issue has been fixed.
Integrating OpenShift Serverless with Red Hat OpenShift Service Mesh causes the net-kourier
pod to run out of memory on startup when too many secrets are present on the cluster.
Namespace-scoped brokers might leave ClusterRoleBindings
in the user namespace even after deletion of namespace-scoped brokers.
If this happens, delete the ClusterRoleBinding
named rbac-proxy-reviews-prom-rb-knative-kafka-broker-data-plane-{{.Namespace}}
in the user namespace.
If you use net-istio
for Ingress and enable mTLS via SMCP using security.dataPlane.mtls: true
, Service Mesh deploys DestinationRules
for the *.local
host, which does not allow DomainMapping
for OpenShift Serverless.
To work around this issue, enable mTLS by deploying PeerAuthentication
instead of using security.dataPlane.mtls: true
.
OpenShift Serverless 1.26 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on Red Hat OpenShift Service on AWS are included in this topic.
OpenShift Serverless Functions with Quarkus is now GA.
OpenShift Serverless now uses Knative Serving 1.5.
OpenShift Serverless now uses Knative Eventing 1.5.
OpenShift Serverless now uses Kourier 1.5.
OpenShift Serverless now uses Knative (kn
) CLI 1.5.
OpenShift Serverless now uses Knative Kafka 1.5.
OpenShift Serverless now uses Knative Operator 1.3.
The kn func
CLI plugin now uses func
1.8.1.
Persistent volume claims (PVCs) are now GA. PVCs provide permanent data storage for your Knative services.
The new trigger filters feature is now available as a Developer Preview. It allows users to specify a set of filter expressions, where each expression evaluates to either true or false for each event.
To enable new trigger filters, add the new-trigger-filters: enabled
entry in the section of the KnativeEventing
type in the operator config map:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
...
...
spec:
config:
features:
new-trigger-filters: enabled
...
Knative Operator 1.3 adds the updated v1beta1
version of the API for operator.knative.dev
.
To update from v1alpha1
to v1beta1
in your KnativeServing
and KnativeEventing
custom resource config maps, edit the apiVersion
key:
KnativeServing
custom resource config mapapiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
...
KnativeEventing
custom resource config mapapiVersion: operator.knative.dev/v1beta1
kind: KnativeEventing
...
Previously, Federal Information Processing Standards (FIPS) mode was disabled for Kafka broker, Kafka source, and Kafka sink. This has been fixed, and FIPS mode is now available.
If you use net-istio
for Ingress and enable mTLS via SMCP using security.dataPlane.mtls: true
, Service Mesh deploys DestinationRules
for the *.local
host, which does not allow DomainMapping
for OpenShift Serverless.
To work around this issue, enable mTLS by deploying PeerAuthentication
instead of using security.dataPlane.mtls: true
.
OpenShift Serverless 1.25.0 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on Red Hat OpenShift Service on AWS are included in this topic.
OpenShift Serverless now uses Knative Serving 1.4.
OpenShift Serverless now uses Knative Eventing 1.4.
OpenShift Serverless now uses Kourier 1.4.
OpenShift Serverless now uses Knative (kn
) CLI 1.4.
OpenShift Serverless now uses Knative Kafka 1.4.
The kn func
CLI plugin now uses func
1.7.0.
Integrated development environment (IDE) plugins for creating and deploying functions are now available for Visual Studio Code and IntelliJ.
Knative Kafka broker is now GA. Knative Kafka broker is a highly performant implementation of the Knative broker API, directly targeting Apache Kafka.
It is recommended to not use the MT-Channel-Broker, but the Knative Kafka broker instead.
Knative Kafka sink is now GA. A KafkaSink
takes a CloudEvent
and sends it to an Apache Kafka topic. Events can be specified in either structured or binary content modes.
Enabling TLS for internal traffic is now available as a Technology Preview.
Previously, Knative Serving had an issue where the readiness probe failed if the container was restarted after a liveness probe fail. This issue has been fixed.
The Federal Information Processing Standards (FIPS) mode is disabled for Kafka broker, Kafka source, and Kafka sink.
The SinkBinding
object does not support custom revision names for services.
The Knative Serving Controller pod adds a new informer to watch secrets in the cluster. The informer includes the secrets in the cache, which increases memory consumption of the controller pod.
If the pod runs out of memory, you can work around the issue by increasing the memory limit for the deployment.
If you use net-istio
for Ingress and enable mTLS via SMCP using security.dataPlane.mtls: true
, Service Mesh deploys DestinationRules
for the *.local
host, which does not allow DomainMapping
for OpenShift Serverless.
To work around this issue, enable mTLS by deploying PeerAuthentication
instead of using security.dataPlane.mtls: true
.
OpenShift Serverless 1.24.0 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on Red Hat OpenShift Service on AWS are included in this topic.
OpenShift Serverless now uses Knative Serving 1.3.
OpenShift Serverless now uses Knative Eventing 1.3.
OpenShift Serverless now uses Kourier 1.3.
OpenShift Serverless now uses Knative kn
CLI 1.3.
OpenShift Serverless now uses Knative Kafka 1.3.
The kn func
CLI plugin now uses func
0.24.
Init containers support for Knative services is now generally available (GA).
OpenShift Serverless logic is now available as a Developer Preview. It enables defining declarative workflow models for managing serverless applications.
Integrating OpenShift Serverless with Red Hat OpenShift Service Mesh causes the net-istio-controller
pod to run out of memory on startup when too many secrets are present on the cluster.
It is now possible to enable secret filtering, which causes net-istio-controller
to consider only secrets with a networking.internal.knative.dev/certificate-uid
label, thus reducing the amount of memory needed.
The OpenShift Serverless Functions Technology Preview now uses Cloud Native Buildpacks by default to build container images.
The Federal Information Processing Standards (FIPS) mode is disabled for Kafka broker, Kafka source, and Kafka sink.
In OpenShift Serverless 1.23, support for KafkaBindings and the kafka-binding
webhook were removed. However, an existing kafkabindings.webhook.kafka.sources.knative.dev MutatingWebhookConfiguration
might remain, pointing to the kafka-source-webhook
service, which no longer exists.
For certain specifications of KafkaBindings on the cluster, kafkabindings.webhook.kafka.sources.knative.dev MutatingWebhookConfiguration
might be configured to pass any create and update events to various resources, such as Deployments, Knative Services, or Jobs, through the webhook, which would then fail.
To work around this issue, manually delete kafkabindings.webhook.kafka.sources.knative.dev MutatingWebhookConfiguration
from the cluster after upgrading to OpenShift Serverless 1.23:
$ oc delete mutatingwebhookconfiguration kafkabindings.webhook.kafka.sources.knative.dev
If you use net-istio
for Ingress and enable mTLS via SMCP using security.dataPlane.mtls: true
, Service Mesh deploys DestinationRules
for the *.local
host, which does not allow DomainMapping
for OpenShift Serverless.
To work around this issue, enable mTLS by deploying PeerAuthentication
instead of using security.dataPlane.mtls: true
.
OpenShift Serverless 1.23.0 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on Red Hat OpenShift Service on AWS are included in this topic.
OpenShift Serverless now uses Knative Serving 1.2.
OpenShift Serverless now uses Knative Eventing 1.2.
OpenShift Serverless now uses Kourier 1.2.
OpenShift Serverless now uses Knative (kn
) CLI 1.2.
OpenShift Serverless now uses Knative Kafka 1.2.
The kn func
CLI plugin now uses func
0.24.
It is now possible to use the kafka.eventing.knative.dev/external.topic
annotation with the Kafka broker. This annotation makes it possible to use an existing externally managed topic instead of the broker creating its own internal topic.
The kafka-ch-controller
and kafka-webhook
Kafka components no longer exist. These components have been replaced by the kafka-webhook-eventing
component.
The OpenShift Serverless Functions Technology Preview now uses Source-to-Image (S2I) by default to build container images.
The Federal Information Processing Standards (FIPS) mode is disabled for Kafka broker, Kafka source, and Kafka sink.
If you delete a namespace that includes a Kafka broker, the namespace finalizer may fail to be removed if the broker’s auth.secret.ref.name
secret is deleted before the broker.
Running OpenShift Serverless with a large number of Knative services can cause Knative activator pods to run close to their default memory limits of 600MB. These pods might be restarted if memory consumption reaches this limit. Requests and limits for the activator deployment can be configured by modifying the KnativeServing
custom resource:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
namespace: knative-serving
spec:
deployments:
- name: activator
resources:
- container: activator
requests:
cpu: 300m
memory: 60Mi
limits:
cpu: 1000m
memory: 1000Mi
If you are using Cloud Native Buildpacks as the local build strategy for a function, kn func
is unable to automatically start podman or use an SSH tunnel to a remote daemon. The workaround for these issues is to have a Docker or podman daemon already running on the local development computer before deploying a function.
On-cluster function builds currently fail for Quarkus and Golang runtimes. They work correctly for Node, Typescript, Python, and Springboot runtimes.
If you use net-istio
for Ingress and enable mTLS via SMCP using security.dataPlane.mtls: true
, Service Mesh deploys DestinationRules
for the *.local
host, which does not allow DomainMapping
for OpenShift Serverless.
To work around this issue, enable mTLS by deploying PeerAuthentication
instead of using security.dataPlane.mtls: true
.