v0.22 版本发布

发布时间:2021-04-23 ,  修订时间:2023-08-03

宣布 Knative v0.22 版本发布

Knative 的新版本现已在多个组件中提供。请按照文档中安装 Knative中相应的组件说明进行操作。

目录

亮点

  • 服务域名映射改进了多租户支持,以避免域名被集群中没有合法所有权的用户声明。
  • 事件现在允许来自不同命名空间的订阅者和触发器一起使用。
  • 1.18 现在是使用 Knative 事件 v0.22 的 Apache Kafka 代理所需的最低 Kubernetes 版本。
  • Apache Kafka 代理现在支持在有序和无序传递之间进行选择的能力
  • CLI kn v0.22.0 包含一些错误修复和次要功能增强。它主要是抛光版本。如果您使用的是客户端 API,则需要进行一个重大更改,以与 Kubernetes 客户端 API 对齐
  • 有两个新的 CLI 插件与 v0.22 版本对齐,kn-plugin-adminkn-plugin-source-kafka
  • Knative 操作员 v0.22 版本包含错误修复,并支持 Knative 服务和事件的 v0.22 版本。

服务 v0.22

💫 新功能和更改

  • 添加了自动扩展注释,以选择用于自动扩展指标的不同聚合算法。目前这是实验性的。 #10840
  • autocreateClusterDomainClaims 标志添加到网络 ConfigMap 中。 networking/#330

🐞 错误修复

  • 添加了验证,如果在自动缩放器 ConfigMap 中指定了 max-scale-limit,则会设置默认 max-scale。否则,默认 max-scale0 = 没有最大值,将无法通过验证,因为它高于 max-scale-limit#10921
  • 将自动缩放器的资源请求和限制分别提高到 100m/100Mi、1000m/1000Mi。 #10865
  • 修复了启动 pod 延迟可能达到 10 秒或更长时间的回归。 #10992
  • 显著减少了激活器中所需的内存分配,尤其是在关闭跟踪时。 #11016, #11013, #11009, #11008
  • 修复了 net-istio 实现的域名映射自动 TLS 功能的错误网关名称格式。 net-istio#532

事件 v0.22

🚨 API 更改

  • 不再支持 v1alpha1 通道鸭子类型。 #5005

🐞 错误修复

  • 修复了导致 PingSource 适配器在终止时无法始终释放领导者选举租约的错误。 #5162
  • 修复了导致 PingSource 对象在领先的适配器无法续订其租约时发送重复事件的错误。 #4908
  • 修复了阻止命名空间范围的 InMemoryChannel 对象变为 READY 的错误。 #4906
  • 修复了为 eventing-webhook 创建过多副本的问题。 #5112
  • API 服务器调用的 Webhook 超时已增加到 10 秒。 #5175

🧹 清理

  • 不要为 PingSource 控制器设置终结器。使用 reconcilekind 代替。 #5002

事件扩展

Apache Kafka 代理 v0.22

🚨 重大更改或值得注意的更改

💫 新功能和更改

  • Kafka 代理现在支持有序传递。您可以通过在触发器规范中使用 kafka.eventing.knative.dev/delivery.order 标签来选择有序和无序传递。请参阅Kafka 代理 文档。 #589

🐞 错误修复

  • 添加了一个生产者拦截器 io.cloudevents.kafka.PartitionKeyExtensionInterceptor,以根据 CloudEvents 规范的分区扩展提供有序传递。 #751
  • 修复了无法在没有安装 Kafka 代理的情况下部署 KafkaSink 的问题。 #714

客户端 v0.22

管理自定义域名映射

此版本添加了对域名映射的 CRUD 管理的支持。您可以使用 kn domain CLI 命令及其子命令 createupdatedescribelistdelete 来完全管理域名映射资源,以便为 Knative 服务使用自定义域名。

# Create a domain mappings 'hello.example.com' for Knative service 'hello'
kn domain create hello.example.com --ref hello

# Update a domain mappings 'hello.example.com' for Knative service 'hello'
kn domain create hello.example.com --refFlags hello

# List all domain mappings
kn domain list

# Delete domain mappings 'hello.example.com'
kn domain delete hello.example.com
有关更多信息,请参阅 kn domain help

客户端 API 签名更改

为了与 Kubernetes 客户端 API 签名保持一致,每个客户端 API 方法的第一个参数都添加了一个 context.Context 对象。此更改不会影响客户端 CLI 的使用,除非用于与 Knative 后端通信的特定于客户端的 Golang API 已更改。要迁移到更新的 API 签名,您可以将已存在的上下文传递给调用,或者使用可用的标准上下文之一,例如 context.TODO()

CLI 插件

💫 新功能和更改

与 v0.22 一致发布的插件是

次要 CLI 更新

  • kn export 现在使用 Export 格式作为默认格式。
  • kn source list-types 中添加了 S 列以指定内置源。
  • 为所有接受 --sink 选项的命令添加了对命名空间的支持。

Operator v0.22

🐞 错误修复

  • 仅删除已安装的 ingress 资源。 #548
  • 允许使用 spec.additionalManifests 更新 ingress 资源。 #531
  • 重构缓存机制。 #532
  • 在目标清单中过滤冗余资源。 #509

🧹 清理

  • 删除不必要的 master 出现 #513
  • 添加 DEVELOPMENT.md #503

感谢贡献者

了解更多

Knative 是一个开源项目,社区 中的任何人都可以使用、改进和享受它。我们希望您加入我们!

我们使用分析和 Cookie 来了解网站流量。有关您使用我们网站的信息将与 Google 共享,以用于该目的。 了解更多。