前言
Knative Eventing v0.10.0 版本已经于 10 月 29 号正式发布。本次发布继续围绕完善 Eventing 中相关功能展开。本篇文章通过解读这些功能特性,让你快速对 v0.10.0 版本有所了解。
新特性
采用 Destination 资源
为了在 Eventing/Messaging 中需要支持设置 URI,而 Destination 本身具备这些属性,因此将 Destination 作为统一访问资源。Destination 结构如下:
type Destination struct{
// +optional
Ref *corev1.ObjectReference
// +optional
URI *apis.URL
}
用户除了可以通过之前如下的方式:
sink:
apiVersion: v1
kind: Service
name: event-display
除此之外,还可以直接通过 uri 方式访问:
sink:
uri: http://event-display.default.svc.cluster.local
通过 uri 这样的方式意味着我们可以在 Eventing 中 设置 subPath
(如 http://event-display.default.svc.cluster.local/test) 进行访问。
目前支持 Destination 的资源包括:Trigger, Subscription, Parallel, Sequence, ApiServerSource, ContainerSource, 以及 CronJobSource。
创建 Trigger 时默认创建 Broker
当第一次创建 Trigger 时,如果没有 Broker, 会自动在当前的 namespace 的 label 中添加 knative-eventing-injection: "enabled"
,创建默认的 Broker。
CloudEvents
CloudEvents 升级到 1.0 版本支持
监控增强
- 在所有的组件中暴露 Go’s runtime.MemStats 作为 opencensus metrics。
- 在 Grafana 中添加了 Broker/Trigger 和 Source 指标仪表盘
其它特性
- 将 CronJobSource 和 ApiServerSource 中 event type 从 OpenAPI spec 移动到 annotations 中。
- Broker, Channel, Parallel, Sequence CRDs 支持通过标签
duck.knative.dev/addressable: "true"
表明资源可以访问。
其它关键信息
- 支持 Kubernetes 最小版本 1.14。如果你 k8s 版本小于 1.14,则会部署失败。
-
channels.eventing.knative.dev
CRD 已经被删除,已经使用channels.messaging.knative.dev
替换. 请手动删除channels.eventing.knative.dev
CRD 资源 - CloudEvents SDK 不再设置默认类型 application/json. 如果需要可以通过设置 content type。
总结
本次 Knative Eventing v0.10.0 版本主要继续完善功能,在后续的版本迭代中应该也是主要集中在功能完善和优化。同时也欢迎对 Knative 有兴趣的一起交流。
阿里云双 11 亿元补贴提前领,进入抽取 iPhone 11 Pro:https://www.aliyun.com/1111/2…
本文作者:元毅
阅读原文
本文为云栖社区原创内容,未经允许不得转载。