乐趣区

解读-Knative-Eventing-v0100-最新版本特性

前言

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…


本文作者:元毅

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

退出移动版