v1.0 版本发布
发布时间:2021-11-08 , 修订时间:2023-08-03
宣布 Knative v1.0 版本发布¶
Knative 的新版本现已在多个组件中发布。
请按照文档中安装 Knative中的说明安装相应的组件。
目录¶
亮点¶
- 所有组件版本现在都标记为
knative-v1.0.0
,对于使用 go 库的用户,请使用版本v0.27
- 每个命名空间的通配符证书供应程序已集成到基本控制器中
- 默认情况下,Prefer: reply 标头将转发到代理触发器的订阅者
Serving v1.0¶
🚨 更改或重大更改¶
-
每个命名空间的通配符证书供应程序已集成到基本控制器中,现在由 namespace-wildcard-cert-selector 字段控制。此字段允许您使用 Kubernetes LabelSelector 来选择哪些命名空间应该提供证书。
-
要迁移现有使用 serving-nscert 控制器的用法,请执行以下操作
- 将 namespace-wildcard-cert-selector 设置为该值
matchExpressions: - key: "networking.knative.dev/disableWildcardCert" operator: "NotIn" values: ["true"]
- 删除在先前版本中由 serving-nscert.yaml 资源定义的部署、服务和集群角色(#12174)
- 将 namespace-wildcard-cert-selector 设置为该值
💫 新功能和更改¶
- 每个命名空间的通配符证书供应已集成到 Knative 主控制器中,不再是单独的安装。它现在由 Kubernetes 命名空间上的标签选择器控制。
- 一项新的实验性功能“concurrencyStateEndpoint”允许在容器并发量变为零或非零时通知 Webhook(#11802,#12162,#11917)
- 当网络配置映射中的网格兼容模式未设置为“auto”时,激活器将尊重 Kubernetes 的就绪状态,并在 Kubernetes 就绪状态比激活器的探测更快地传播时避免探测。(#12086)
🐞 错误修复¶
- 修复了在建立域所有权之前请求 TLS 证书的问题。(#12080)
Eventing v1.0¶
🚨 更改或重大更改¶
- 如果设置了“strict-subscriber”功能标志,则订阅将要求设置 spec.subscriber。以前,Subscription 会接受裸 spec.reply。此功能将在 1.1 版本中启用;为了跟踪事件规范并改进使用订阅时的用户体验,它会破坏与先前版本的兼容性。(#5762)
💫 新功能和更改¶
- 默认情况下,Prefer: reply 标头将转发到代理触发器的订阅者 (#5773)
- 如果设置了 spec.reply 字段,则会将标头 Prefer: reply 添加到发送到订阅订阅者的请求中。(#5764)
- 如果未指定代理、触发器、通道和订阅的字段 spec.delivery.deadLetterSink.ref.namespace,则默认为 metadata.namespace。(#5748)
- 将 deadLetterSinkUri 添加到通道状态。
- 使用 1 年计时器弃用 deadLetterChannel。(#5746)
- 通道和订阅现在将强制执行“delivery”字段的验证。(#5777)
- 下一代多租户调度程序和取消调度程序:使用插件接口来指定调度程序配置文件,该配置文件包含分别运行过滤和评分的谓词和优先级,以计算最佳 vreplica 布置。当自动扩展程序添加新 Pod 时,调度程序会对已放置的 vreplica 以及新的 vreplica 进行重新平衡。在需要缩减 vreplica 数量并删除布置时,必须安装取消调度程序配置文件。(#5818)
- 将 UID 添加到可用的 Kreference 映射解析器模板字段 (#5810)
🐞 错误修复¶
- 修复了并行更新泄漏资源的问题。为了使修复生效,提供的通道必须在标记为 duck.knative.dev/channelable 的集群角色中包含 delete 动词。(#5775)
- 修复了 Sequence 更新泄漏资源的问题。为了使修复生效,提供的通道必须在标记为 duck.knative.dev/channelable 的集群角色中包含 delete 动词。(#5718)
事件扩展¶
Apache Kafka 代理 v1.0¶
💫 新功能和更改¶
- KafkaBroker 的集群角色
knative-kafka-data-plane
已重命名为knative-kafka-broker-data-plane
(#1315) - KafkaBroker 的服务帐户
knative-kafka-data-plane
已重命名为knative-kafka-broker-data-plane
(#1315) - KafkaBroker 的集群角色绑定
knative-kafka-data-plane
已重命名为knative-kafka-broker-data-plane
(#1315) - KafkaSink 的集群角色
knative-kafka-data-plane
已重命名为knative-kafka-sink-data-plane
(#1315) - 用于 KafkaSink 的 ServiceAccount `knative-kafka-data-plane` 已重命名为 `knative-kafka-sink-data-plane` (#1315)
- 用于 KafkaSink 的 ClusterRoleBinding `knative-kafka-data-plane` 已重命名为 `knative-kafka-sink-data-plane` (#1315)
- 将 Broker 和 Trigger 的 `status.deadLetterSinkUri` 设置为 `spec.delivery.deadLetterSink` 的解析 URI (#1349)
RabbitMQ Broker 和 Source v1.0¶
💫 新功能和变更¶
- 触发器现在将并行地将事件发送到其订阅者,正在传输的消息数量默认值为 10,可以通过注释 `rabbitmq.eventing.knative.dev/prefetchCount` 进行配置。(#418)
- 触发器过滤器现在强制为不可变,因为底层的 RMQ 绑定是不可变的 (#468)
🐞 错误修复¶
- 如果未定义死信接收器,Broker 将不再为死信事件创建队列 (#453)
客户端 v1.0¶
💫 新功能和变更¶
- 删除已弃用的标志 `--lookup-path` (#1506)
- 将 `--extra-containers` 重命名为 `--containers` (#1499)
- 删除已弃用的标志 `--min-scale` 和 `--max-scale` (#1498)
- 删除已弃用的标志 `--limits-cpu` 和 `--limits-memory` (#1498)
- 在缺少 API 错误消息时添加更多解释 (#1497)
- 弃用 `--concurrency-target` 和 `--concurrency-utilization`,分别改用 `--scale-target` 和 `--scale-utilization` (#1490)
- 弃用 `--autoscale-window`,改用 `--scale-window` (#1489)
- 当指定 N-1 个修订版时,计算流量分配 (#1483)
- 如果不存在,则创建默认配置文件 (#1472)
🐞 错误修复¶
- 修复域描述引用以显示正确的类型 (#1477)
操作员 v1.0¶
💫 新功能和变更¶
- 添加 COC,贡献文档 (#790)
- 从不支持 HA 的列表中删除 pingsource-mt-adapter (#788)
- 将高可用性应用于操作员管理的所有部署 (#749) 修复 `with` 的拼写错误 (#781)
- 添加对 `spec.deployments.affinity` 的支持 (#777)
- 当高可用性具有更大的数量时,调整 HPA 中的 `maxReplicas` (#748)
- 为 Knative 操作员准备标签 `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)
- 删除事件的 `heartbeats` (#792)
🐞 错误修复¶
- 修复安装 `spec.manifests` 时出现的错误问题 (#750)
感谢贡献者¶
- @Abirdcfly
- @aavarghese
- @benmoss
- @boaz0
- @dsimansk
- @evankanderson
- @houshengbo
- @julz
- @lionelvillard
- @mattmoor
- @matzew
- @nak3
- @odacremolbap
- @pierDipi
- @pierDipi
- @psschwei
- @travis-minke-sap
- @vyasgun
了解更多¶
Knative 是一个开源项目,任何社区成员都可以使用、改进和享受。我们希望你加入我们!
- 欢迎来到 Knative
- 入门文档
- 示例
- Knative 工作组
- Knative 用户邮件列表
- Knative 开发邮件列表
- Knative Twitter @KnativeProject
- Knative StackOverflow StackOverflow
- Knative Slack Slack
- Knative YouTube YouTube