apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
...
spec:
channel: stable
config:
env:
- name: ROUTE_HAPROXY_TIMEOUT
value: '900'
有关 OpenShift Serverless 生命周期和支持平台的更多信息,请参阅OpenShift 运算符生命周期。 |
发行说明包含有关新功能和已弃用功能、重大更改以及已知问题的信息。以下发行说明适用于 OpenShift Container Platform 上最新的 OpenShift Serverless 发行版。
有关 OpenShift Serverless 功能的概述,请参见关于 OpenShift Serverless。
OpenShift Serverless 基于开源 Knative 项目。 有关最新 Knative 组件版本的详细信息,请参见Knative 博客。 |
API 版本是衡量 OpenShift Serverless 中某些功能和自定义资源开发状态的重要指标。在您的集群上创建未使用正确 API 版本的资源可能会导致部署问题。
OpenShift Serverless 运算符会自动将使用已弃用 API 版本的旧资源升级为使用最新版本。例如,如果您在集群上创建了使用旧版 ApiServerSource
API(例如 v1beta1
)的资源,则当 v1
版本可用且 v1beta1
版本已弃用时,OpenShift Serverless 运算符会自动更新这些资源以使用 v1
版本的 API。
弃用后,旧版 API 可能会在任何即将发布的版本中删除。使用已弃用的 API 版本不会导致资源失败。但是,如果您尝试使用已删除的 API 版本,则会导致资源失败。请确保您的清单已更新为使用最新版本,以避免出现问题。
正式可用 (GA) 功能得到全面支持,适合用于生产环境。技术预览 (TP) 功能是实验性功能,不适用于生产环境。有关 TP 功能的更多信息,请参阅 Red Hat 客户门户网站上的技术预览支持范围。
下表提供有关哪些 OpenShift Serverless 功能为 GA,哪些为 TP 的信息
功能 | 1.32 | 1.33 | 1.34 |
---|---|---|---|
事件传输加密 |
- |
- |
TP |
服务传输加密 |
- |
- |
TP |
OpenShift Serverless Logic |
TP |
GA |
GA |
ARM64 支持 |
- |
TP |
TP |
自定义指标自动缩放器运算符 (KEDA) |
- |
TP |
TP |
kn event 插件 |
TP |
TP |
TP |
代码即管道 |
TP |
TP |
TP |
|
TP |
TP |
TP |
使用 S2I 构建器的 Go 函数 |
TP |
TP |
TP |
在单节点 OpenShift 上安装和使用 Serverless |
GA |
GA |
GA |
使用 Service Mesh 隔离 Serverless 的网络流量 |
TP |
TP |
TP |
无服务器逻辑 |
TP |
GA |
GA |
函数中覆盖 |
GA |
GA |
GA |
|
GA |
GA |
GA |
Quarkus 函数 |
GA |
GA |
GA |
Node.js 函数 |
GA |
GA |
GA |
TypeScript 函数 |
GA |
GA |
GA |
Python 函数 |
TP |
TP |
TP |
服务网格 mTLS |
GA |
GA |
GA |
|
GA |
GA |
GA |
HTTPS 重定向 |
GA |
GA |
GA |
Kafka 代理 |
GA |
GA |
GA |
Kafka 接收器 |
GA |
GA |
GA |
Knative 服务的初始化容器支持 |
GA |
GA |
GA |
Knative 服务的 PVC 支持 |
GA |
GA |
GA |
命名空间范围的代理 |
TP |
TP |
TP |
|
GA |
GA |
GA |
在以前的版本中作为通用可用 (GA) 或技术预览 (TP) 提供的一些功能已被弃用或删除。已弃用的功能仍包含在 OpenShift Serverless 中并继续受支持;但是,它将在本产品的未来版本中删除,不建议用于新的部署。
有关 OpenShift Serverless 中已弃用和删除的主要功能的最新列表,请参阅下表
功能 | 1.29 | 1.30 | 1.31 | 1.32 | 1.33 | 1.34 |
---|---|---|---|---|---|---|
EventTypes |
- |
- |
- |
已弃用 |
已弃用 |
已弃用 |
|
- |
- |
- |
已删除 |
已删除 |
已删除 |
启用 Kourier 时,Red Hat OpenShift Service Mesh 与 Serverless |
- |
- |
- |
已弃用 |
已弃用 |
已弃用 |
|
- |
已弃用 |
已弃用 |
已弃用 |
已弃用 |
已弃用 |
|
已弃用 |
已弃用 |
已弃用 |
已弃用 |
已弃用 |
已弃用 |
Serving 和 Eventing |
已删除 |
已删除 |
已删除 |
已删除 |
已删除 |
已删除 |
|
已删除 |
已删除 |
已删除 |
已删除 |
已删除 |
已删除 |
|
已删除 |
已删除 |
已删除 |
已删除 |
已删除 |
已删除 |
OpenShift Serverless 1.34.1 现已可用。此版本的 OpenShift Serverless 解决了已识别的常见漏洞和披露 (CVE)。以下说明中包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的已修复问题
以前,由于默认的 OpenShift 路由超时时间太短,因此对后端响应缓慢的 Knative 服务的请求可能会失败。此问题已通过使haproxy.router.openshift.io/timeout
设置可配置(用于自动创建的路由)得到解决。
现在,您可以通过如下设置 OpenShift Serverless Operator Subscription
配置中的ROUTE_HAPROXY_TIMEOUT
环境变量来调整超时时间
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
...
spec:
channel: stable
config:
env:
- name: ROUTE_HAPROXY_TIMEOUT
value: '900'
以前,如果使用HorizontalPodAutoscaler
字段缩减了 Activator 组件的规模,则对 Knative 服务的长时间运行请求可能会过早终止。此问题已解决。Activator 的terminationGracePeriodSeconds
字段现在会自动与为 Knative 修订版配置的max-revision-timeout-seconds
设置对齐。
OpenShift Serverless 1.34 现已可用。以下说明中包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的新功能、更新和已知问题
OpenShift Serverless 现在使用 Knative Serving 1.14。
OpenShift Serverless 现在使用 Knative Eventing 1.14。
OpenShift Serverless 现在使用 Kourier 1.14。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.14。
OpenShift Serverless 现在使用 Knative for Apache Kafka 1.14。
kn func
CLI 插件现在使用func
1.15。
OpenShift Serverless Logic 现在支持在同一命名空间内对 OpenAPI 进行多次配置。
OpenShift Serverless Logic 的管理控制台现在作为技术预览 (TP) 功能提供,用于简化开发流程。
OpenShift Serverless Logic 1.34 引入了一项新功能,允许工作流通过配置访问不同的 OpenShift Container Platform 集群。此功能使用户能够在工作流中定义 REST 调用,以无缝地与多个集群进行交互。
在 OpenShift Serverless Logic 中,作业服务存活性检查现已增强,以限制检索领导者状态所需的时间。已引入一个新的系统属性kogito.jobs-service.management.leader-check.expiration-in-seconds
,允许您配置允许领导者状态检查的最大时间。
自动EventType
注册是 Eventing 功能,现在作为技术预览 (TP) 提供。它会根据代理入口和内存通道上处理的事件自动创建EventTypes
对象,从而改善使用和创建EventTypes
的体验。
加密服务现在作为技术预览 (TP) 功能提供。
现在支持启动探针,有助于减少冷启动时间,从而加快应用程序启动速度并提高性能。这些探针对于启动过程缓慢的容器特别有用。
OpenShift Serverless Serving 传输加密功能允许使用 TLS 通过安全加密的 HTTPS 连接传输数据。此功能现在作为技术预览 (TP) 功能提供。
使用 S2I 构建器的 Go 函数现在作为 Linux 和 Mac 开发人员的技术预览 (TP) 功能提供,允许他们在这些平台上实现和构建 Go 函数。
Knative Serving 的多容器支持允许您使用单个 Knative 服务来部署多容器 Pod。它还支持多个容器的readiness
和liveness
探针值。
Knative Kafka 触发器的自动缩放现在通过 KEDA(Kubernetes 事件驱动自动缩放)作为技术预览 (TP) 得到增强。使用 CMA/KEDA 进行自动缩放通过优化 Kafka 触发器和KafkaSource
对象的资源分配来进一步增强性能,从而确保在事件驱动工作负载中获得更好的可伸缩性。
Knative Eventing 现在提供对数据传输加密 (Eventing TLS) 的支持,作为技术预览 (TP) 功能。您可以配置 Knative Eventing 组件以公开 HTTPS 地址,并向客户端添加用户提供的 CA 信任捆绑包。
OpenShift Serverless 1.33.2 现已可用。以下说明中包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的已修复问题
之前,在用户命名空间中创建 Knative 安装资源(例如 `KnativeServing` 或 `KnativeEventing`)会在 OpenShift Serverless Operator 中触发无限循环调和。此问题已通过重新引入一个准入 Webhook 来解决,该 Webhook 可防止在除 `knative-serving` 或 `knative-eventing` 之外的任何命名空间中创建 Knative 安装资源。
之前,安装后批处理作业会在一段时间后被删除,导致特权服务帐户未绑定。这导致合规系统发出警报。此问题已通过保留已完成的作业来解决,确保服务帐户保持绑定状态。
OpenShift Serverless 1.33 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的新的功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 1.12。
OpenShift Serverless 现在使用 Knative Eventing 1.12。
OpenShift Serverless 现在使用 Kourier 1.12。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.12。
OpenShift Serverless 现在使用 Knative for Apache Kafka 1.12。
kn func
CLI 插件现在使用 `func` 1.14。
OpenShift Serverless Logic 现在正式上市 (GA)。此版本包含 OpenShift Serverless Logic 的概述;创建、运行和部署工作流的说明;以及 OpenShift Serverless Logic Operator 的安装和卸载指南。此外,它还包括配置 OpenAPI 服务和端点的步骤,以及服务故障排除的技术。更多信息,请参见 OpenShift Serverless Logic 概述。
您还可以参考其他文档。更多详情,请参见 Serverless Logic 文档。
ARM64 上的 OpenShift Serverless 现在作为技术预览版提供。
NamespacedKafka
注解现已弃用。请改用不带数据平面隔离的标准 Kafka 代理。
启用自动 `EventType` 自动创建时,您现在可以轻松发现集群中可用的事件。此功能作为开发者预览版提供。
您现在可以直接在 OpenShift 开发者控制台的开发者视图的 **观察** 选项卡中浏览 Knative Eventing 监控仪表板。
您现在可以使用自定义指标自动缩放器 Operator 来自动缩放 Apache Kafka 源的 Knative Eventing 源,这些源由 `KafkaSource` 对象定义。此功能作为技术预览版功能提供,为 Knative Eventing 中基于 Kafka 的事件源提供增强的可扩展性和效率。
创建具有 Kafka 实现的 Knative Broker 时,您现在可以自定义内部 Kafka 主题属性。这提高了效率并简化了管理。
新的触发器过滤器功能现已作为技术预览版提供。这些过滤器默认启用,允许用户指定一组过滤器表达式,其中每个表达式对每个事件的计算结果为真或假。
OpenShift Serverless 1.32 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的新的功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 1.11。
OpenShift Serverless 现在使用 Knative Eventing 1.11。
OpenShift Serverless 现在使用 Kourier 1.11。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.11。
OpenShift Serverless 现在使用 Knative for Apache Kafka 1.11。
kn func
CLI 插件现在使用 `func` 1.13。
Serverless Logic(作为技术预览版 (TP) 功能提供)已更新。
有关使用方法说明,请参见 Serverless Logic 文档。
您可以为 `user` 容器和 `queue-proxy` 容器配置 OpenShift Serverless Functions 就绪和存活性探针设置。
OpenShift Serverless Functions 现在支持 OpenShift Pipelines 版本 1.10
到 1.14
(最新版本)。较旧版本的 OpenShift Pipelines 不再与 OpenShift Serverless Functions 兼容。
包括使用 Pipelines as Code 在内的集群内函数构建现在仅在 OpenShift Data Foundation 存储上的 IBM zSystems (s390x) 和 IBM Power (ppc64le) 上受支持。
您现在可以使用 `func subscribe` 命令将函数订阅到一组事件。这将您的函数链接到由您的过滤器定义的 `CloudEvent` 对象,并启用自动响应。
Knative Serving 用于内部流量的 TLS 加密功能现已弃用。它是一个技术预览版功能。使用 `internal-encryption` 配置标志的功能已不可用,将在未来的版本中替换为新的配置标志。
秘密过滤在 OpenShift Serverless Operator 端默认启用。环境变量 `ENABLE_SECRET_INFORMER_FILTERING_BY_CERT_UID=true` 默认添加到 `net-istio` 和 `net-kourier` 控制器 pod 中。
knative-serving
命名空间中的 `domain-mapping` 和 `domain-mapping-webhook` 部署功能现已移除。它们现在已集成到 Serving Webhook 和 Serving Controller 中。
如果您在 `KnativeServing` 自定义资源 (CR) 中设置 `spec.config.domain` 字段,则默认外部域将不再自动填充 `knative-serving` 命名空间中的 `config-domain` 配置映射。现在,您必须手动配置 `config-domain` 配置映射以确保准确的域设置。
您现在可以使用 gRPC 健康探针来部署 `net-kourier`。Kourier Controller 现在对就绪性和存活性都使用标准 Kubernetes gRPC 健康探针,取代了其先前使用的 exec 和自定义命令。`timeoutSeconds` 值已从 100 毫秒调整到 1 秒,以确保更可靠的探针响应。
新的触发器过滤器功能现已作为技术预览版提供。新的触发器过滤器现在默认启用。它允许用户指定一组过滤器表达式,其中每个表达式对每个事件的计算结果为真或假。
Knative Eventing现已提供数据传输加密 (Eventing TLS) 的支持(开发者预览版)。您可以配置Knative Eventing组件以公开HTTPS地址,并向客户端添加用户提供的CA信任捆绑。
OpenShift Serverless现在支持为系统组件注入自定义OpenShift CA捆绑包。更多信息,请参见配置自定义PKI。
您现在可以使用自定义指标自动缩放器运算符来自动缩放Apache Kafka源的Knative Eventing源。此功能作为开发者预览版提供,为Knative Eventing中的基于Kafka的事件源提供了增强的可扩展性和效率。
您现在可以直接在OpenShift开发者控制台的“开发者”视图的**观察**选项卡中浏览Knative Eventing监控仪表盘。
OpenShift Serverless 1.32已弃用对Knative中EventType `v1beta1`的支持。在OpenShift Serverless 1.32中,Knative CLI使用EventType `v1beta2` API来支持新的参考模型。在之前的版本中,`kn` CLI与EventType API `v1beta1`不向后兼容,并且仅限于`kn eventtypes`子命令组。因此,建议使用匹配的`kn`版本以获得最佳用户体验。
OpenShift Serverless 1.31现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新功能、更新和已知问题。
OpenShift Serverless现在使用Knative Serving 1.10。
OpenShift Serverless现在使用Knative Eventing 1.10。
OpenShift Serverless现在使用Kourier 1.10。
OpenShift Serverless现在使用Knative (kn
) CLI 1.10。
OpenShift Serverless现在使用Knative for Apache Kafka 1.10。
`kn func` CLI插件现在使用`func` 1.11。
OpenShift Serverless与服务网格的多租户功能现已作为技术预览版 (TP) 功能提供。
Serverless Logic(作为技术预览版 (TP) 功能提供)已更新。
有关使用方法说明,请参见 Serverless Logic 文档。
OpenShift Serverless现在可以安装在单节点OpenShift上并使用。
您现在可以为现有的`PersistentVolume`对象配置持久卷声明 (PVC) 以与无服务器函数一起使用。
当为Ingress指定Kourier并使用`DomainMapping`时,OpenShift Route的TLS设置为直通,TLS由Kourier Gateway处理。从Serverless 1.31开始,可以在Kourier Gateway端指定启用的密码套件。
启用Kourier时,将Red Hat OpenShift服务网格与Serverless集成现已弃用。请使用`net-istio`代替`net-kourier`进行服务网格集成。
有关详细信息,请参见“将Red Hat OpenShift服务网格与Serverless集成”部分。
已为`3scale-kourier-gateway`部署添加了`PodDistruptionBudget`和`HorizontalPodAutoscaler`对象。
`PodDistruptionBudget`用于定义部署中pod的最低可用性要求。
`HorizontalPodAutoscaler`用于根据需求或自定义指标自动缩放部署中pod的数量。
现在您可以更改Knative代理和Apache Kafka的通道使用的Apache Kafka主题名称的模式。
`DomainMapping` `v1alpha1`自定义资源定义 (CRD) 现已弃用。请改用`v1beta1` CRD。
作为技术预览版 (TP) 功能的`NamespacedKafka`注释现已弃用,取而代之的是标准的Kafka代理,无需数据平面隔离。
OpenShift Serverless 1.30.2现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新功能、更新和已知问题。
此版本的OpenShift Serverless解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Container Platform 4.11和更高版本。值得注意的是,此更新解决了CVE-2023-44487 - HTTP/2快速流重置,方法是在Serving、Eventing Webhook和RBAC代理容器上禁用HTTP/2传输。
OpenShift Serverless 1.30.1现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新功能、更新和已知问题。
此版本的OpenShift Serverless解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Container Platform 4.11和更高版本。
OpenShift Serverless 1.30现已可用。以下内容包含与OpenShift Container Platform上的OpenShift Serverless相关的新功能、更新和已知问题。
OpenShift Container Platform 4.13基于Red Hat Enterprise Linux (RHEL) 9.2。RHEL 9.2尚未提交联邦信息处理标准 (FIPS) 验证。虽然Red Hat无法承诺具体的时限,但我们预计将获得RHEL 9.0和RHEL 9.2模块以及以后甚至RHEL 9.x的小版本更新的FIPS验证。有关更新的信息,请参阅合规活动和政府标准知识库文章。 |
OpenShift Serverless现在使用Knative Serving 1.9。
OpenShift Serverless现在使用Knative Eventing 1.9。
OpenShift Serverless现在使用Kourier 1.9。
OpenShift Serverless现在使用Knative (kn
) CLI 1.9。
OpenShift Serverless现在使用Knative for Apache Kafka 1.9。
`kn func` CLI插件现在使用`func` 1.10.1。
OpenShift Serverless现在可在HyperShift托管集群上运行。
OpenShift Serverless现在可在单节点OpenShift上运行。
现在可以通过 OpenShift Toolkit(Visual Studio Code (VSCode) 的 OpenShift IDE 扩展)获得 OpenShift Serverless 的开发者体验。此扩展程序可从 VSCode 扩展选项卡和 VSCode 市场安装。请参阅 Visual Studio Code OpenShift Toolkit 扩展的市场页面。
OpenShift Serverless Functions 现在支持 Red Hat OpenShift Pipelines 1.10 和 1.11 版本。较旧版本的 Red Hat OpenShift Pipelines 不再与 OpenShift Serverless Functions 兼容。
Serverless Logic 现已作为技术预览 (TP) 功能提供。
详情请参阅 Serverless Logic 文档。
从 OpenShift Serverless 1.30.0 开始,以下运行时环境在使用 s2i 构建器的 IBM zSystems 上受支持:
NodeJS
Python
TypeScript
Quarkus
与 Red Hat OpenShift Service Mesh 的事件集成现已作为技术预览 (TP) 功能提供。
集成包括以下内容:
PingSource
ApiServerSource
Apache Kafka 的 Knative Source
Apache Kafka 的 Knative Broker
Apache Kafka 的 Knative Sink
ContainerSource
SinkBinding
InMemoryChannel
KafkaChannel
基于通道的 Knative Broker
OpenShift Serverless Functions 的 Pipelines-as-code 现已作为技术预览 (TP) 提供。
您现在可以为 net-kourier
配置突发值和每秒查询数 (QPS) 值。
OpenShift Serverless Functions 用户现在能够为单个 Quarkus 函数在 func.yaml
文件中覆盖 readiness
和 liveness
探针值。
有关 Quarkus、TypeScript 和 Node.js 函数的指导,请参阅“函数开发参考指南”。
从 OpenShift Serverless 1.30.0 开始,Kourier 控制器和网关清单默认具有以下限制和请求:
请求
cpu: 200m
memory: 200Mi
限制
cpu: 500m
memory: 500Mi
请参阅 OpenShift Serverless 文档的“覆盖 Knative Serving 系统部署配置”部分。
作为技术预览版 (TP) 功能的`NamespacedKafka`注释现已弃用,取而代之的是标准的Kafka代理,无需数据平面隔离。
以前,3scale-kourier-gateway
pod 每天会发送数千个 net-kourier-controller
DNS 查询。每个 NXDOMAIN
回复都会发送新的查询。这种情况会持续到生成正确的 DNS 查询为止。
现在查询默认情况下具有 net-kourier-controller.knative-serving-ingress.svc.<cluster domain>.
全限定域名 (FQDN),从而解决了此问题。
OpenShift Serverless 1.29 现已推出。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的新的功能、更新和已知问题。
OpenShift Container Platform 4.13 基于 Red Hat Enterprise Linux (RHEL) 9.2。RHEL 9.2 尚未提交联邦信息处理标准 (FIPS) 验证。虽然 Red Hat 无法承诺具体的时限,但我们预计将获得 RHEL 9.0 和 RHEL 9.2 模块以及 RHEL 9.x 的后续次要版本的 FIPS 验证。有关更新的信息,请参阅 合规性活动和政府标准知识库文章。 |
OpenShift Serverless 现在使用 Knative Serving 1.8。
OpenShift Serverless 现在使用 Knative Eventing 1.8。
OpenShift Serverless 现在使用 Kourier 1.8。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.8。
OpenShift Serverless 现在使用 Apache Kafka 的 Knative 1.8。
kn func
CLI 插件现在使用 func
1.10。
从 OpenShift Serverless 1.29 开始,不同产品版本可按如下方式使用:
最新版本可通过 stable
通道获得。
比最新版本旧的版本可通过基于版本的通道获得。
要使用这些通道,请将订阅对象 YAML 文件中的 channel 参数从 stable
更新为相应的基于版本的通道,例如 stable-1.29
。
此更改允许您不仅接收最新版本的更新,还接收维护阶段版本的更新。
此外,您可以锁定 Knative (kn
) CLI 的版本。有关详情,请参阅“安装 Knative CLI”部分。
您现在可以使用 OpenShift Container Platform Pipelines 通过开发者控制台创建 OpenShift Serverless 函数。
Knative Serving 的多容器支持现已正式上市 (GA)。此功能允许您使用单个 Knative 服务来部署多容器 Pod。
OpenShift Serverless 函数现在可以在 func.yaml
文件中为单个 Node.js 和 TypeScript 函数覆盖 readiness
和 liveness
探针值。
您现在可以将函数配置为在其源代码在 GitHub 存储库中更改时自动重新部署到集群。这允许更无缝的 CI/CD 集成。
与 Service Mesh 的事件集成现已作为开发者预览功能提供。集成包括:PingSource
、ApiServerSource
、Apache Kafka 的 Knative Source、Apache Kafka 的 Knative Broker、Apache Kafka 的 Knative Sink、ContainerSource
和 SinkBinding
。
此版本包含 OpenShift Serverless Logic 的升级开发者预览版。
Knative Operator Serving 和 Eventings CRD 的 API 版本 v1alpha1
已被删除。您需要改用 v1beta1
版本。这不会影响现有安装,因为在升级 Serverless Operator 时会自动更新 CRD。
更新DomainMapping中指定的密钥时,仅更新密钥不会触发协调循环。您需要重命名密钥或删除Knative Ingress资源才能触发协调循环。
Webhook水平Pod自动伸缩器 (HPA) 设置被OpenShift Serverless Operator覆盖。因此,它无法针对更高的工作负载进行伸缩。要解决此问题,请手动设置与您的工作负载相对应的初始副本值。
在Red Hat OpenShift Serverless 1.27之前创建的KafkaSource
资源在删除时会卡住。要解决此问题,在开始删除KafkaSource
后,请从资源中删除最终器。
net-kourier-controller
可能由于存活性探测错误而无法启动。您可以使用知识库解决方案来解决此问题。
OpenShift Serverless 1.28现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新的功能、更新和已知问题。
OpenShift Container Platform 4.13 基于 Red Hat Enterprise Linux (RHEL) 9.2。RHEL 9.2 尚未提交联邦信息处理标准 (FIPS) 验证。虽然 Red Hat 无法承诺具体的时限,但我们预计将获得 RHEL 9.0 和 RHEL 9.2 模块以及 RHEL 9.x 的后续次要版本的 FIPS 验证。有关更新的信息,请参阅 合规性活动和政府标准知识库文章。 |
OpenShift Serverless现在使用Knative Serving 1.7。
OpenShift Serverless现在使用Knative Eventing 1.7。
OpenShift Serverless现在使用Kourier 1.7。
OpenShift Serverless现在使用Knative (kn
) CLI 1.7。
OpenShift Serverless现在使用用于Apache Kafka 1.7的Knative Broker实现。
kn func
CLI插件现在使用func
1.9.1版本。
OpenShift Serverless Functions的Node.js和TypeScript运行时现在已正式上市 (GA)。
OpenShift Serverless Functions的Python运行时现在作为技术预览版提供。
Knative Serving的多容器支持现已作为技术预览版提供。此功能允许您使用单个Knative服务来部署多容器Pod。
在OpenShift Serverless 1.29或更高版本中,Knative Eventing的以下组件将从两个Pod缩减到一个Pod
imc-controller
imc-dispatcher
mt-broker-controller
mt-broker-filter
mt-broker-ingress
Serving CR的serverless.openshift.io/enable-secret-informer-filtering
注释现已弃用。此注释仅对Istio有效,对Kourier无效。
使用OpenShift Serverless 1.28,OpenShift Serverless Operator允许为net-istio
和net-kourier
注入环境变量ENABLE_SECRET_INFORMER_FILTERING_BY_CERT_UID
。
如果您启用密钥过滤,则所有密钥都需要用networking.internal.knative.dev/certificate-uid: "<id>"
标记。否则,Knative Serving将无法检测到它们,这会导致故障。您必须标记新的和现有的密钥。
在接下来的OpenShift Serverless版本之一中,密钥过滤将默认启用。为避免故障,请提前标记您的密钥。
目前,Python运行时不支持在IBM Power、IBM zSystems和IBM® LinuxONE上运行OpenShift Serverless Functions。
这些架构支持Node.js、TypeScript和Quarkus函数。
在Windows平台上,由于app.sh
文件权限问题,无法使用Source-to-Image构建器本地构建、运行或部署Python函数。
要解决此问题,请使用适用于Linux的Windows子系统。
在Red Hat OpenShift Serverless 1.27之前创建的KafkaSource
资源在删除时会卡住。要解决此问题,在开始删除KafkaSource
后,请从资源中删除最终器。
OpenShift Serverless 1.27现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新的功能、更新和已知问题。
OpenShift Serverless 1.26是在OpenShift Container Platform 4.12上完全受支持的早期版本。OpenShift Serverless 1.25和更早版本无法在OpenShift Container Platform 4.12上部署。 因此,在将OpenShift Container Platform升级到4.12版本之前,请先将OpenShift Serverless升级到1.26或1.27版本。 |
OpenShift Serverless现在使用Knative Serving 1.6。
OpenShift Serverless现在使用Knative Eventing 1.6。
OpenShift Serverless现在使用Kourier 1.6。
OpenShift Serverless现在使用Knative (kn
) CLI 1.6。
OpenShift Serverless现在使用Knative Kafka 1.6。
kn func
CLI插件现在使用func
1.8.1。
命名空间范围的代理现在作为技术预览版提供。例如,此类代理可用于实现基于角色的访问控制 (RBAC)策略。
KafkaSink
现在默认使用CloudEvent
二进制内容模式。二进制内容模式比结构化模式更有效率,因为它使用其正文中的标头而不是CloudEvent
。例如,对于HTTP协议,它使用HTTP标头。
您现在可以使用OpenShift Container Platform 4.10和更高版本上的OpenShift Route通过HTTP/2协议使用gRPC框架进行外部流量。这提高了客户端和服务器之间通信的效率和速度。
Knative Operator Serving和Eventings CRD的API版本v1alpha1
在1.27中已弃用。它将在未来的版本中删除。Red Hat强烈建议改用v1beta1
版本。这不会影响现有安装,因为在升级Serverless Operator时会自动更新CRD。
传递超时功能现在默认启用。它允许您为每个发送的HTTP请求指定超时时间。此功能仍然是技术预览版。
OpenShift Serverless 1.26现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新的功能、更新和已知问题。
使用Quarkus的OpenShift Serverless Functions现已正式上市 (GA)。
OpenShift Serverless现在使用Knative Serving 1.5。
OpenShift Serverless现在使用Knative Eventing 1.5。
OpenShift Serverless现在使用Kourier 1.5。
OpenShift Serverless现在使用Knative (kn
) CLI 1.5。
OpenShift Serverless现在使用Knative Kafka 1.5。
OpenShift Serverless现在使用Knative Operator 1.3。
kn func
CLI插件现在使用func
1.8.1。
持久卷声明 (PVC) 现在已正式上市 (GA)。PVC为您的Knative服务提供永久数据存储。
新的触发器过滤器功能现已作为开发者预览版提供。它允许用户指定一组过滤器表达式,其中每个表达式对每个事件计算结果为真或假。
要启用新的触发器过滤器,请在运算符配置映射中KnativeEventing
类型的部分中添加new-trigger-filters: enabled
条目
apiVersion: operator.knative.dev/v1beta1
kind: KnativeEventing
...
...
spec:
config:
features:
new-trigger-filters: enabled
...
Knative Operator 1.3 添加了更新的 `v1beta1` 版本的 `operator.knative.dev` API。
要将 `KnativeServing` 和 `KnativeEventing` 自定义资源配置映射中的版本从 `v1alpha1` 更新到 `v1beta1`,请编辑 `apiVersion` 密钥。
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
...
apiVersion: operator.knative.dev/v1beta1
kind: KnativeEventing
...
OpenShift Serverless 1.25.0 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的新的功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 1.4。
OpenShift Serverless 现在使用 Knative Eventing 1.4。
OpenShift Serverless 现在使用 Kourier 1.4。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.4。
OpenShift Serverless 现在使用 Knative Kafka 1.4。
kn func
CLI 插件现在使用 `func` 1.7.0。
用于创建和部署函数的集成开发环境 (IDE) 插件现已适用于 Visual Studio Code 和 IntelliJ。
Knative Kafka 代理现在已正式发布 (GA)。Knative Kafka 代理是 Knative 代理 API 的高性能实现,直接面向 Apache Kafka。
建议不要使用 MT-Channel-Broker,而应使用 Knative Kafka 代理。
Knative Kafka 接收器现在已正式发布 (GA)。KafkaSink
获取一个 `CloudEvent` 并将其发送到 Apache Kafka 主题。事件可以使用结构化或二进制内容模式指定。
现在可以使用内部流量的 TLS(作为技术预览版)。
OpenShift Serverless 1.24.0 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的新的功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 1.3。
OpenShift Serverless 现在使用 Knative Eventing 1.3。
OpenShift Serverless 现在使用 Kourier 1.3。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.3。
OpenShift Serverless 现在使用 Knative Kafka 1.3。
kn func
CLI 插件现在使用 `func` 0.24。
Knative 服务的初始化容器支持现已正式发布 (GA)。
OpenShift Serverless 逻辑现在作为开发者预览版提供。它支持定义声明式工作流模型,用于管理无服务器应用程序。
对于 OpenShift Container Platform,您现在可以将成本管理服务与 OpenShift Serverless 配合使用。
将 OpenShift Serverless 与 Red Hat OpenShift Service Mesh 集成会导致 `net-istio-controller` Pod 在启动时内存不足,尤其是在集群中存在大量密钥时。
现在可以启用密钥过滤,这将导致 `net-istio-controller` 只考虑具有 `networking.internal.knative.dev/certificate-uid` 标签的密钥,从而减少所需的内存量。
OpenShift Serverless Functions 技术预览版现在默认使用 Cloud Native Buildpacks 来构建容器镜像。
Kafka 代理、Kafka 源和 Kafka 接收器的联邦信息处理标准 (FIPS) 模式已禁用。
在 OpenShift Serverless 1.23 中,已删除对 KafkaBindings 和 `kafka-binding` webhook 的支持。但是,现有的 `kafkabindings.webhook.kafka.sources.knative.dev MutatingWebhookConfiguration` 可能仍然存在,指向不再存在的 `kafka-source-webhook` 服务。
对于集群上 KafkaBindings 的某些规范,`kafkabindings.webhook.kafka.sources.knative.dev MutatingWebhookConfiguration` 可能配置为通过 webhook 将任何创建和更新事件传递给各种资源,例如 Deployment、Knative 服务或 Job,然后这些事件将失败。
要解决此问题,请在升级到 OpenShift Serverless 1.23 后手动从集群中删除 `kafkabindings.webhook.kafka.sources.knative.dev MutatingWebhookConfiguration`。
$ oc delete mutatingwebhookconfiguration kafkabindings.webhook.kafka.sources.knative.dev
OpenShift Serverless 1.23.0 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的新的功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 1.2。
OpenShift Serverless 现在使用 Knative Eventing 1.2。
OpenShift Serverless 现在使用 Kourier 1.2。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.2。
OpenShift Serverless 现在使用 Knative Kafka 1.2。
kn func
CLI 插件现在使用 `func` 0.24。
现在可以使用 `kafka.eventing.knative.dev/external.topic` 注解与 Kafka 代理一起使用。此注解使得可以使用现有的外部管理主题,而不是代理创建其自身的内部主题。
`kafka-ch-controller` 和 `kafka-webhook` Kafka 组件不再存在。这些组件已被 `kafka-webhook-eventing` 组件取代。
OpenShift Serverless Functions 技术预览版现在默认使用 Source-to-Image (S2I) 来构建容器镜像。
Kafka 代理、Kafka 源和 Kafka 接收器的联邦信息处理标准 (FIPS) 模式已禁用。
如果删除包含 Kafka 代理的命名空间,如果在代理之前删除了代理的 `auth.secret.ref.name` 密钥,则命名空间终结器可能无法删除。
使用大量 Knative 服务运行 OpenShift Serverless 可能会导致 Knative activator Pod 的运行内存接近其默认的 600MB 内存限制。如果内存消耗达到此限制,这些 Pod 可能会重新启动。可以通过修改 `KnativeServing` 自定义资源来配置 activator 部署的请求和限制。
apiVersion: operator.knative.dev/v1beta1
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
如果使用 Cloud Native Buildpacks 作为函数的本地构建策略,则 `kn func` 无法自动启动 podman 或使用 SSH 隧道连接到远程守护程序。解决这些问题的办法是在部署函数之前,先在本地开发计算机上运行 Docker 或 podman 守护程序。
对于 Quarkus 和 Golang 运行时,集群内函数构建当前失败。它们在 Node、Typescript、Python 和 Springboot 运行时中可以正常工作。
OpenShift Serverless 1.22.0 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的最新功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 1.1。
OpenShift Serverless 现在使用 Knative Eventing 1.1。
OpenShift Serverless 现在使用 Kourier 1.1。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.1。
OpenShift Serverless 现在使用 Knative Kafka 1.1。
kn func
CLI 插件现在使用 func
0.23。
Knative 服务的初始化容器支持现已作为技术预览版提供。
Knative 服务的持久卷声明 (PVC) 支持现已作为技术预览版提供。
knative-serving
、knative-serving-ingress
、knative-eventing
和 knative-kafka
系统命名空间现在默认具有 knative.openshift.io/part-of: "openshift-serverless"
标签。
已添加Knative Eventing - Kafka Broker/Trigger 仪表板,允许在 Web 控制台中可视化 Kafka 代理和触发器指标。
已添加Knative Eventing - KafkaSink 仪表板,允许在 Web 控制台中可视化 KafkaSink 指标。
Knative Eventing - Broker/Trigger 仪表板现已更名为Knative Eventing - 基于通道的 Broker/Trigger。
knative.openshift.io/part-of: "openshift-serverless"
标签已替换 knative.openshift.io/system-namespace
标签。
Knative Serving YAML 配置文件中的命名风格已从驼峰式命名法 (ExampleName
) 更改为短横线式命名法 (example-name
)。从本版本开始,创建或编辑 Knative Serving YAML 配置文件时,请使用短横线式命名法。
OpenShift Serverless 1.21.0 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的最新功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 1.0
OpenShift Serverless 现在使用 Knative Eventing 1.0。
OpenShift Serverless 现在使用 Kourier 1.0。
OpenShift Serverless 现在使用 Knative (kn
) CLI 1.0。
OpenShift Serverless 现在使用 Knative Kafka 1.0。
kn func
CLI 插件现在使用 func
0.21。
Kafka sink 现已作为技术预览版提供。
Knative 开源项目已开始弃用驼峰式命名法配置键,转而始终如一地使用 kebab-case 命名法。因此,先前在 OpenShift Serverless 1.18.0 发行说明中提到的 defaultExternalScheme
键现已弃用,并替换为 default-external-scheme
键。该键的使用说明保持不变。
在 OpenShift Serverless 1.20.0 中,存在一个事件传递问题,影响使用 kn event send
将事件发送到服务。此问题现已修复。
在 OpenShift Serverless 1.20.0 (func
0.20) 中,使用 http
模板创建的 TypeScript 函数无法在集群上部署。此问题现已修复。
在 OpenShift Serverless 1.20.0 (func
0.20) 中,使用 gcr.io
注册表部署函数会失败并显示错误。此问题现已修复。
在 OpenShift Serverless 1.20.0 (func
0.20) 中,使用 kn func create
命令创建 Springboot 函数项目目录,然后运行 kn func build
命令会失败并显示错误消息。此问题现已修复。
在 OpenShift Serverless 1.19.0 (func
0.19) 中,某些运行时无法使用 podman 构建函数。此问题现已修复。
目前,域名映射控制器无法处理包含当前不支持的路径的代理的 URI。
这意味着,如果您想使用 DomainMapping
自定义资源 (CR) 将自定义域名映射到代理,则必须使用代理的入口服务配置 DomainMapping
CR,并将代理的确切路径附加到自定义域名。
DomainMapping
CRapiVersion: serving.knative.dev/v1alpha1
kind: DomainMapping
metadata:
name: <domain-name>
namespace: knative-eventing
spec:
ref:
name: broker-ingress
kind: Service
apiVersion: v1
代理的 URI 为 <domain-name>/<broker-namespace>/<broker-name>
。
OpenShift Serverless 1.20.0 现已可用。以下说明包含与 OpenShift Container Platform 上的 OpenShift Serverless 相关的最新功能、更新和已知问题。
OpenShift Serverless 现在使用 Knative Serving 0.26。
OpenShift Serverless 现在使用 Knative Eventing 0.26。
OpenShift Serverless 现在使用 Kourier 0.26。
OpenShift Serverless 现在使用 Knative (kn
) CLI 0.26。
OpenShift Serverless 现在使用 Knative Kafka 0.26。
kn func
CLI 插件现在使用 func
0.20。
Kafka 代理现已作为技术预览版提供。
目前处于技术预览版的 Kafka 代理在 FIPS 上不受支持。 |
kn event
插件现已作为技术预览版提供。
kn service create
命令的 --min-scale
和 --max-scale
标志已弃用。请改用 --scale-min
和 --scale-max
标志。
OpenShift Serverless 部署使用 HTTPS 的默认地址的 Knative 服务。向集群内资源发送事件时,发送方未配置集群证书颁发机构 (CA)。这会导致事件传递失败,除非集群使用全球公认的证书。
例如,向公开访问的地址传递事件有效
$ kn event send --to-url https://ce-api.foo.example.com/
另一方面,如果服务使用由自定义 CA 颁发的 HTTPS 证书的公共地址,则此传递会失败。
$ kn event send --to Service:serving.knative.dev/v1:event-display
向其他可寻址对象(例如代理或通道)发送事件不受此问题的影响,并按预期工作。
Kafka 代理目前在启用了联邦信息处理标准 (FIPS) 模式的集群上不起作用。
如果您使用 kn func create
命令创建 Springboot 函数项目目录,则随后运行 kn func build
命令会失败并显示此错误消息。
[analyzer] no stack metadata found at path ''
[analyzer] ERROR: failed to : set API for buildpack 'paketo-buildpacks/ca-certificates@3.0.2': buildpack API version '0.7' is incompatible with the lifecycle
作为解决方法,您可以将函数配置文件 func.yaml
中的 builder
属性更改为 gcr.io/paketo-buildpacks/builder:base
。
使用 gcr.io
注册表部署函数会失败并显示此错误消息。
Error: failed to get credentials: failed to verify credentials: status code: 404
作为解决方法,请使用 gcr.io
之外的其他注册表,例如 quay.io
或 docker.io
。
使用http
模板创建的TypeScript函数无法在集群上部署。
作为解决方法,在func.yaml
文件中,替换以下部分
buildEnvs: []
为以下内容
buildEnvs:
- name: BP_NODE_RUN_SCRIPTS
value: build
在func
0.20版本中,某些运行时可能无法使用podman构建函数。您可能会看到类似于以下的错误消息
ERROR: failed to image: error during connect: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.40/info": EOF
此问题存在以下解决方法
通过向服务ExecStart
定义中添加--time=0
来更新podman服务
ExecStart=/usr/bin/podman $LOGGING system service --time=0
运行以下命令重启podman服务
$ systemctl --user daemon-reload
$ systemctl restart --user podman.socket
或者,您可以使用TCP公开podman API
$ podman system service --time=0 tcp:127.0.0.1:5534 &
export DOCKER_HOST=tcp://127.0.0.1:5534
OpenShift Serverless 1.19.0现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新的功能、更新和已知问题。
OpenShift Serverless现在使用Knative Serving 0.25。
OpenShift Serverless现在使用Knative Eventing 0.25。
OpenShift Serverless现在使用Kourier 0.25。
OpenShift Serverless现在使用Knative (kn
) CLI 0.25。
OpenShift Serverless现在使用Knative Kafka 0.25。
kn func
CLI插件现在使用func
0.19。
KafkaBinding
API已在OpenShift Serverless 1.19.0中弃用,并将在未来的版本中删除。
现在支持HTTPS重定向,可以为集群全局配置,也可以为每个Knative服务配置。
在func
0.19版本中,某些运行时可能无法使用podman构建函数。您可能会看到类似于以下的错误消息
ERROR: failed to image: error during connect: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.40/info": EOF
此问题存在以下解决方法
通过向服务ExecStart
定义中添加--time=0
来更新podman服务
ExecStart=/usr/bin/podman $LOGGING system service --time=0
运行以下命令重启podman服务
$ systemctl --user daemon-reload
$ systemctl restart --user podman.socket
或者,您可以使用TCP公开podman API
$ podman system service --time=0 tcp:127.0.0.1:5534 &
export DOCKER_HOST=tcp://127.0.0.1:5534
OpenShift Serverless 1.18.0现已可用。以下说明包含与OpenShift Container Platform上的OpenShift Serverless相关的新的功能、更新和已知问题。
OpenShift Serverless现在使用Knative Serving 0.24.0。
OpenShift Serverless现在使用Knative Eventing 0.24.0。
OpenShift Serverless现在使用Kourier 0.24.0。
OpenShift Serverless现在使用Knative (kn
) CLI 0.24.0。
OpenShift Serverless现在使用Knative Kafka 0.24.7。
kn func
CLI插件现在使用func
0.18.0。
在即将发布的OpenShift Serverless 1.19.0版本中,外部路由的URL方案将默认为HTTPS,以增强安全性。
如果您不希望此更改应用于您的工作负载,则可以在升级到1.19.0之前,通过将以下YAML添加到您的KnativeServing
自定义资源(CR)来覆盖默认设置
...
spec:
config:
network:
defaultExternalScheme: "http"
...
如果您希望此更改立即应用于1.18.0,请添加以下YAML
...
spec:
config:
network:
defaultExternalScheme: "https"
...
在即将发布的OpenShift Serverless 1.19.0版本中,Kourier Gateway公开的默认服务类型将是ClusterIP
,而不是LoadBalancer
。
如果您不希望此更改应用于您的工作负载,则可以在升级到1.19.0之前,通过将以下YAML添加到您的KnativeServing
自定义资源(CR)来覆盖默认设置
...
spec:
ingress:
kourier:
service-type: LoadBalancer
...
您现在可以将emptyDir
卷与OpenShift Serverless一起使用。有关详细信息,请参阅有关Knative Serving的OpenShift Serverless文档。
使用kn func
创建函数时,现在可以使用Rust模板。
之前的Camel-K 1.4版本与OpenShift Serverless 1.17.0不兼容。Camel-K中的问题已修复,Camel-K 1.4.1版本可以与OpenShift Serverless 1.17.0一起使用。
以前,如果您为Kafka通道创建新的订阅,或创建新的Kafka源,则在新建的订阅或接收器报告就绪状态后,Kafka数据平面可能需要延迟才能准备好调度消息。
因此,在数据平面未报告就绪状态期间发送的消息可能未传递给订阅者或接收器。
在OpenShift Serverless 1.18.0中,此问题已修复,初始消息不再丢失。有关此问题的更多信息,请参阅知识库文章 #6343981。
较旧版本的Knative kn
CLI可能使用较旧版本的Knative Serving和Knative Eventing API。例如,kn
CLI的0.23.2版本使用v1alpha1
API版本。
另一方面,较新的OpenShift Serverless版本可能不再支持较旧的API版本。例如,OpenShift Serverless 1.18.0不再支持kafkasources.sources.knative.dev
API的v1alpha1
版本。
因此,将较旧版本的Knative kn
CLI与较新的OpenShift Serverless一起使用可能会产生错误,因为kn
找不到过时的API。例如,kn
CLI的0.23.2版本无法与OpenShift Serverless 1.18.0一起使用。
为避免出现问题,请使用适用于您的OpenShift Serverless版本的最新kn
CLI版本。对于OpenShift Serverless 1.18.0,请使用Knative kn
CLI 0.24.0。