v0.26 版本发布
发布时间:2021-10-05, 修订时间:2023-08-03
宣布 Knative v0.26 版本发布¶
Knative 的新版本现已在多个组件中提供。
请按照文档中的说明操作 安装 Knative 的相应组件。
目录¶
亮点¶
- 现在需要 Kubernetes 1.20+
- 改进了 Istio 网格兼容模式。
- 事件 kafka 中的新功能
- 新的 CLI 插件可用
- 安装操作员中的许多改进
Serving v0.26¶
🚨 重大或显着更改¶
- 现在需要 Kubernetes 1.20+
💫 新功能和更改¶
- 允许用户设置 container[*].securityContext.runAsGroup (#12003)
- 联网配置映射中添加了一个新设置
mesh-compatibility-mode
,允许管理员明确告诉 Activator 和 Autoscaler 使用直接 Pod IP(最高效,但与启用网格不兼容)、集群 IP(效率较低,但如果启用网格则需要)或自动检测(当前行为,也是默认行为,导致 Activator 和 Autoscaler 首先尝试直接 Pod IP 通信,如果看到与网格相关的错误状态代码,则回退到集群 IP)。 (#11999) - 向后台摘要解析器添加了更多调试日志 (#11959)
- 删除了队列代理上的启动探测,这使得 Pod 的启动速度平均快了约 500 毫秒。 (#11965)
- 从 RevisionStatus 中删除了 ServiceName 字段,该字段已在几个版本中弃用。该字段实际上等同于修订版名称。 (#11817)
- 启用后,队列代理会跟踪每个 Pod 的请求计数(默认情况下禁用) (#11783)
🐞 错误修复¶
- 用户提供的 readinessProbes 具有大于零的 probePeriod 设置,不再在 Pod 启动后被静默忽略。 (#11190)
Eventing v0.26¶
🚨 重大或显着更改¶
- 现在需要 Kubernetes 1.20+
💫 新功能和更改¶
- 添加新的
kreference-naming
实验性功能。启用后,它允许覆盖默认的 Knative 引用解析器行为。有关更多详细信息,请参阅文档。 (#5599) - 心跳示例应用程序现在支持 Golang 风格的时间持续时间作为周期间隔 (#5683)
- 某些通道的死信接收器 CloudEvents 将包含
knativeerrordest
扩展属性,该属性指示失败事件的原始目标 URL。 (#5727) - 事件显示和心跳示例程序将在配置了跟踪端点时将跟踪发送到该端点 (#5631)
- mtbroker 控制器导出跟踪 (#5634)
- 触发器在其交付参数
spec.delivery.timeout
中接受超时字段 (#5687)
🐞 错误修复¶
🧹 清理¶
- NewListableTracker 已弃用,请改用 NewListableTrackerFromTracker。 (#5651)
- 采用 app.kubernetes.io 标签 (#5628)
- 澄清
ceOverrides
的语义 (#5641) - 后期作业现在具有生成的名称,而不是未维护的版本化名称。 (#5664)
事件扩展¶
Apache Kafka Broker v0.26¶
🚨 重大或显着更改¶
- 现在需要 Kubernetes 1.20+
🐞 错误修复¶
- 字段 Broker.spec.delivery.deadLetterSink.ref.namespace 和 Trigger.spec.delivery.deadLetterSink.ref.namespace 是可选的。默认情况下,控制器使用对象命名空间。 (#1254)
Apache Kafka 源和通道 v0.26¶
💫 新功能和更改¶
- KafkaChannel CRD Spec 现在包含一个 RetentionDuration 字段,允许对保留进行每个通道控制。可使用后期安装作业(config/post-install/retentionupdate)通过填充此字段来迁移现有的 KafkaChannels。已从 config-kafka ConfigMap 中删除了不起作用的“topic”配置默认值。 (#828)
- KafkaChannel ConfigMap 现在支持为动态生成的资源自定义标签和注释。 (#806)
- 提供了一个选项供用户指定 Kafka 源中消费者组的初始偏移量,只有在消费者组没有以前的提交偏移量时才会使用此字段。 (#779)
- KafkaSource 现在支持 ceOverrides。 (#811)
- 多租户
KafkaSource
基于 Kafka 源分区计数计算最佳最大允许副本数,以便调度程序不会调度超过计算数量的 vreplicas (#822) - 现在可以自动将自动扩展注释添加到 KafkaSource 对象。有关更多详细信息,请参见文档。(#855)
🐞 错误修复¶
- 修复错误:KafkaChannel 的 status.address 不再是必需的,因此在早期阶段错误的情况下,条件会成功反映出来 (#857)
- 删除令人困惑的错误消息
Kafka source is not ready
。无论 Kafka 源是否真正存在问题,此错误都会作为事件返回,用户不应该看到此错误消息,除非它是一个合法错误或他们可以修复的错误。(#809) - 多租户源 Webhook 集群角色对 namespace/finalizers 具有更新权限。(#854)
🧹 清理¶
- KafkaChannel 和 ResetOffset spec 字段的固有不可变性现在由 kafka-webhook 强制执行。(#863)
- 下一代多租户调度器和取消调度器:使用插件接口来指定调度器配置文件,该配置文件包含谓词和优先级,分别运行 pod 的过滤和评分,以计算最佳 vreplica 部署位置。当自动扩展器添加新 pod 时,调度器会对已部署的 vreplica 和新的 vreplica 进行重新平衡。当需要缩减 vreplica 和移除部署位置时,必须安装取消调度器配置文件。(#768)
- 合并的 KafkaChannel 调度程序现在由控制器拥有。(#798)
Eventing Kogito v0.26¶
💫 新功能和更改¶
- 引入新的 Kogito Source CRD 并添加对 Kogito 服务的 K_SINK 环境变量的支持 (#1)
客户端 v0.26¶
💫 新功能和更改¶
- 在函数创建/更新命令中添加
--env-file
选项 (#1433) - 新的 CLI 插件
kn-plugin-kamelet
,一个用于将 Kamelet 和 KameletBinding 作为 Knative 事件源进行管理的 Knative CLI 插件。下载最新版本 此处- 列出可用的 Kamelet
- 描述 Kamelet 并打印详细信息(例如提供商、支持级别、属性)
- 将 Kamelet 作为源绑定到 Knative 接收器(代理、通道、服务)
- 列出 Kamelet 绑定
- 创建 Kamelet 绑定以将源绑定到 Knative 接收器(代理、通道、服务)
- 新的 CLI 实验性函数插件
kn-plugin-func
下载最新版本 此处 - 新的 CLI 实验性云事件插件
kn-plugin-event
下载最新版本 此处
🧹 清理¶
操作员 v0.26¶
💫 新功能和更改¶
- 检测缺少 Istio 要求并建议用户安装 Istio Gateway CRD (#697)
- 添加 COC,贡献文档 (#790)
- 从不支持 HA 的列表中删除 pingsource-mt-adapter (#788)
- 将高可用性应用于操作员管理的所有部署 (#749)
- 修复 with 的拼写错误 (#781)
- 添加对 spec.deployments.affinity 的支持 (#777)
- 当高可用性数量较大时,调整 HPA 中的 maxReplicas (#748)
- 为 Knative Operator 准备标签 app.kubernetes.io/version (#738)
- 允许通过 spec.deployments.tolerations 设置容忍度 (#747)
- 从 HA 扩展中删除 pingsource (#740)
- 删除已弃用的 enabledComponents 字段设置 (#735)
- 在 hack/update-codegen.sh 中使用 knative.dev/hack/codegen-library.sh (#734)
- 删除 Eventing 的心跳 (#792)
🐞 错误修复¶
- 修复安装 spec.manifests 时出现的错误问题 (#750)
感谢贡献者¶
- @Abirdcfly
- @aavarghese
- @aliok
- @benmoss
- @devguyio
- @dprotaso
- @dsimansk
- @gabo1208
- @houshengbo
- @itsmurugappan
- @julz
- @lionelvillard
- @markusthoemmes
- @mattmoor
- @matzew
- @nak3
- @pierDipi
- @psschwei
- @ricardozanini
- @steven0711dong
- @travis-minke-sap
- @upodroid
- @vyasgun
了解更多¶
Knative 是一个开源项目,社区 中的任何人都可以使用、改进和享受它。我们希望您加入我们!
- 欢迎使用 Knative
- 入门文档
- 示例
- Knative 工作组
- Knative 用户邮件列表
- Knative 开发邮件列表
- Knative 在 Twitter 上 @KnativeProject
- Knative 在 StackOverflow 上
- Knative Slack
- Knative 在 YouTube 上