简单了解 Knative Eventing 0.9 版本新特性

前言

Knative Eventing v0.9 版本已经于 9 月 18 号正式发布。本次发布 Eventing 中相关功能更新并不多。本篇文章带你简单了解这些功能新特性。

新特性

Broker/Trigger 优化

  • Broker 中的 Ingress Pod 以及 Filter Pod新增 liveness 和 readiness 配置:在之前未配置 liveness 和 readiness 的情况下,如果里面的 HTTP 服务挂掉下, Pod仍然还在运行中,需要手动删除Pod才能重新恢复服务,这样既需要人工介入又不能第一时间恢复服务。通过新增 liveness 和 readiness 配置,能很好的解决这类问题。
  • Broker Pod 支持向 config-observability ConfigMap 配置的后端发送 metrics 指标
  • Broker 以及 InMemoryChannel 订阅的请求超时时间从1分钟调整到15分钟。针对有些大的镜像服务冷启动时间比较长的情况下,1分钟的超时时间明显不合适,所以再新版本在将这个超时时间调整到15分钟。(个人认为该超时时间设计成可配置的更好)

ApiServerSource 优化

  • 过滤增强:支持通过label标签、apiVersion 和 kind 进行事件过滤。
  • 支持事件数量统计功能。

CronJobSource 优化

支持事件数量统计功能。

注意事项

  • Subscription CRD从 eventing.knative.dev 移动到了 messaging.knative.dev 分组下
  • NatssChannel CRD 移动到了eventing-contrib中
  • in-memory CCP(ClusterChannelProvisioner )已经移除
  • GCPPubSub CCP 已经移除
  • ClusterChannelProvisioner 和 Channel CRD 已经从eventing.knative.dev分组中移除
  • status.subscribablestatus属性已经deprecated,使用status.subscribableStatus替换(看起来只是大小写的区分)。但这两个属性目前都会存在 Subscribable 中
  • Eventing pods 不足使用 prometheus.io/scrape 注释
  • 注意Choice CRD名称改了,新名称叫做:Parallel
  • 对于开发者来说,需要注意一下这个Go import变化了:github.com/knative/eventing 改为 knative.dev/eventing。
  • 社区重新讨论了是否使用Importer替换Source的改造,结果确定还是保留当前的Source使用,也就意味着否定了使用Importer替换Source。所以 importer 类型又从 ApiServerSource, CronJobSource, 和 ContainerSource CRD中删除到了。具体讨论可以参考: https://github.com/knative/eventing/pull/1882

总结

本次 Knative Eventing 0.9 版本总体来看更新不多,侧面反映 Knative Eventing 这块整体趋于稳定。

欢迎加入 Knative 交流群

简单了解 Knative Eventing 0.9 版本新特性

上一篇:全面剖析 Knative Eventing 0.6 版本新特性


下一篇:navigator 应用