1.15. Red Hat OpenShift Serverless 1.20.0 发行注记


OpenShift Serverless 1.20.0 现已正式发布。OpenShift Container Platform 上的 OpenShift Serverless 的新功能、改变以及已知的问题包括在此文档中。

1.15.1. 新功能

  • 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 代理现在作为技术预览提供。

    重要

    FIPS 不支持 Kafka 代理(当前为技术预览)。

  • kn event 插件现在作为技术预览提供。
  • kn service create 命令的 --min-scale--max-scale 标志已弃用。使用 --scale-min--scale-max 标志。

1.15.2. 已知问题

  • 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 registry 部署函数会失败并显示以下错误消息:

    Error: failed to get credentials: failed to verify credentials: status code: 404

    作为临时解决方案,请使用与 gcr.io 不同的 registry,如 quay.iodocker.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
    • 这个问题存在以下临时解决方案:

      1. 通过在 service ExecStart 定义中添加 --time=0 来更新 podman 服务:

        服务配置示例

        ExecStart=/usr/bin/podman $LOGGING system service --time=0

      2. 运行以下命令来重启 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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.