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-admin 和 kn-plugin-source-kafka
- Knative 操作员 v0.22 版本包含错误修复,并支持 Knative 服务和事件的 v0.22 版本。
服务 v0.22¶
💫 新功能和更改¶
- 添加了自动扩展注释,以选择用于自动扩展指标的不同聚合算法。目前这是实验性的。 #10840
- 将
autocreateClusterDomainClaims
标志添加到网络 ConfigMap 中。 networking/#330
🐞 错误修复¶
- 添加了验证,如果在自动缩放器 ConfigMap 中指定了
max-scale-limit
,则会设置默认max-scale
。否则,默认max-scale
,0
= 没有最大值,将无法通过验证,因为它高于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 命令及其子命令 create
、update
、describe
、list
和 delete
来完全管理域名映射资源,以便为 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 一致发布的插件是
- kn-plugin-admin 用于管理在 Kubernetes 上运行的 Knative 安装 | 下载
- kn-plugin-source-kafka 用于管理通过 eventing-kafka 在后端安装的 Kafka 源 | 下载
次要 CLI 更新¶
kn export
现在使用 Export 格式作为默认格式。- 在
kn source list-types
中添加了S
列以指定内置源。 - 为所有接受
--sink
选项的命令添加了对命名空间的支持。
Operator v0.22¶
🐞 错误修复¶
- 仅删除已安装的 ingress 资源。 #548
- 允许使用
spec.additionalManifests
更新 ingress 资源。 #531 - 重构缓存机制。 #532
- 在目标清单中过滤冗余资源。 #509
🧹 清理¶
感谢贡献者¶
- @dsimansk
- @eletonia
- @ericmillin
- @evankanderson
- @faruryo
- @houshengbo
- @itsmurugappan
- @julz
- @Kaustubh-pande
- @lionelvillard
- @markusthoemmes
- @matejvasek
- @n3wscott
- @pierDipi
- @slinkydeveloper
- @vagababov
- @vaikas
- @zhaojizhuang
- @ZhiminXiang
了解更多¶
Knative 是一个开源项目,社区 中的任何人都可以使用、改进和享受它。我们希望您加入我们!
- 欢迎使用 Knative
- 入门文档
- 示例和演示
- Knative 会议和工作组
- 问题和疑难解答
- Knative 用户邮件列表
- Knative 开发邮件列表
- Knative 在 Twitter 上 @KnativeProject
- Knative 在 StackOverflow 上
- Knative Slack
- Knative 在 YouTube 上