1.4. Red Hat OpenShift Serverless 1.36
OpenShift Serverless 1.36 现已正式发布。OpenShift Container Platform 上的 OpenShift Serverless 的新功能、更新、固定问题以及已知的问题包括在以下备注中:
1.4.1. 新功能 复制链接链接已复制到粘贴板!
1.4.1.1. OpenShift Serverless Eventing 复制链接链接已复制到粘贴板!
- OpenShift Serverless 现在使用 Knative Eventing 1.16。
- OpenShift Serverless 现在使用 Knative 用于 Apache Kafka 1.16。
-
IntegrationSource
和IntegrationSink
现在作为技术预览提供。这些是支持 Apache Camel 项目中所选 Kamelets 的 Knative Eventing 自定义资源。kamelets 允许您连接到第三方系统以改进连接,充当源(event producer)或接收器(event consumers)。 - Knative Eventing 现在可以根据传入事件的结构自动发现并注册 EventTypes。此功能简化了 EventTypes 的配置和管理,从而减少了对手动定义的需求。此功能作为技术预览提供。
OpenShift Serverless Eventing 引入了
EventTransform
,它是一个新的 API 资源,您可以在不编写自定义代码的情况下声明性地转换 JSON 事件。通过EventTransform
,您可以修改属性、提取或重塑数据,并跨系统简化事件流。常见用例包括事件增强、格式转换和请求响应转换。EventTransform
与 Knative 源、触发器和代理无缝集成,在事件驱动的构架中增强互操作性。此功能现在作为技术预览提供。请参阅以下
EventTransform
的主要功能:- 使用 Kubernetes 原生资源声明性定义转换
- 使用 JSONata 表达式用于高级和灵活的事件数据操作
- 在事件驱动的工作流内轻松插入转换
- 支持转换 sink-bound 和 reply 事件以更好地路由控制
-
sinks.knative.dev
API 组现在添加到 Knative Eventing 中的ClusterRoles
命名空间中。开发人员现在具有获取
、list
和watch
此 API 组中的资源的权限,改进了 sink 资源的可访问性和集成。 - Knative Eventing 的传输加密现在作为技术预览提供(GA)功能。
- Knative Eventing 现在支持定义授权策略,以限制哪些实体可以向 Eventing 自定义资源发送事件。这可在事件驱动的构架中启用更大的控制和安全性。此功能作为开发者预览提供。
- Knative Eventing 目录现在通过针对 Backstage 的 Event Catalog 插件集成到 Red Hat Developer Hub 中。这个集成可让用户在 Red Hat Developer Hub 界面中直接发现和探索 Knative Eventing 资源。此功能作为开发者预览提供。
-
KafkaSource
API 现在已提升到v1
版本,表示其稳定性和生产环境就绪状态。 - OpenShift Serverless 现在支持在 ARM 架构上部署,作为正式发行(GA)功能。
-
kn event
插件现在作为 GA 功能提供。您可以使用此插件将事件直接从命令行发送到不同的目的地,简化事件驱动的应用程序开发和测试工作流。
1.4.1.2. OpenShift Serverless Serving 复制链接链接已复制到粘贴板!
- OpenShift Serverless 现在使用 Knative Serving 1.16。
- OpenShift Serverless 现在使用 Kourier 1.16。
-
OpenShift Serverless 现在使用 Knative (
kn
) CLI 1.16。
1.4.1.3. OpenShift Serverless Functions 复制链接链接已复制到粘贴板!
-
kn func
CLI 插件现在使用func
1.16。 - OpenShift Serverless 功能支持与 Cert Manager 集成,为功能工作负载启用自动证书管理。此功能作为开发者预览提供。
1.4.1.4. OpenShift Serverless Logic 复制链接链接已复制到粘贴板!
当通过 HTTP 启动工作流时,您现在可以在请求正文中包含额外的属性和
workflowdata
字段。这些额外字段由运行时忽略,但可在 Data Index 中作为进程变量提供,如下例所示:{"workflowdata": {"name": "John"}, "groupKey": "follower"}
{"workflowdata": {"name": "John"}, "groupKey": "follower"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您可以使用
ProcessInstances.variables
上的 GraphQL 查询来根据工作流变量的内容过滤工作流实例。例如,以下查询检索进程实例,其中workflowdata
中的language
字段等于西班牙语
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenShift Serverless Logic Data Index 现在支持使用工作流定义元数据过滤查询。
- OpenShift Serverless Logic Operator 现在向 Data Index 发送事件,以指示工作流定义何时可用或不可用。
1.4.2. 修复的问题 复制链接链接已复制到粘贴板!
1.4.2.1. OpenShift Serverless Eventing 复制链接链接已复制到粘贴板!
在以前的版本中,如果在 sink 不按顺序处理事件时,如果 Kafka 消费者组重新平衡发生,Knative Kafka 分配程序可能会停止消耗事件。这个行为会触发以下错误:
-
SEVERE: Unhandled exception
-
java.lang.IndexOutOfBoundsException: bitIndex < 0
-
由于:组已经重新平衡,重复日志,如 Request join group
这个问题现已解决。分配程序可以在重新平衡过程中正确处理边界事件消耗,并在不中断的情况下继续处理事件。
-
-
在以前的版本中,即使
KafkaSource.spec.net.tls.key
无法加载,KafkaSource 也会处于Ready
状态,因为 PKCS #1 格式不支持的 TLS 证书。这个问题现已解决。现在,当试图使用不支持格式的 TLS 证书创建KafkaBroker
、KafkaChannel
、KafkaSource
或KafkaSink
时,会报告一个正确的错误。
1.4.3. 已知问题 复制链接链接已复制到粘贴板!
1.4.3.1. OpenShift Serverless Logic 复制链接链接已复制到粘贴板!
-
如果
swf-dev-mode
镜像使用有问题的或无效的工作流定义启动,容器可能会进入 stuck 状态。 -
当在 OpenShift Container Platform 上的
preview
配置集中部署工作流时,如果初始构建失败并在以后修正,Operator 不会创建对应的工作流部署。因此,即使构建被修复,部署仍缺失,且SonataFlow
状态没有更新。 -
OpenShift Serverless Logic 构建器镜像会持续在构建过程中下载
plexus-utils-1.1
工件,而不考虑本地缓存或依赖项解析设置。 - 在断开连接的或受限网络环境中运行镜像时,Maven 包装程序在尝试下载所需组件时可能会遇到超时问题。
-
openshift-serverless-1/logic-swf-builder-rhel8:1.35.0
和openshift-serverless-1/logic-swf-builder-rhel8:1.36.0
镜像目前在构建过程中下载 Maven 的持久性扩展。