全面解读 Knative Eventing 0.8 版本新特性

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Knative Eventing v0.8 版本已经于 8 月 6 号正式发布。本次发布主要围绕完善 Eventing 中相关功能展开。本篇文章通过解读这些功能特性,希望能让你快速对 0.8 新版本有所了解。

前言

Knative Eventing v0.8 版本已经于 8 月 6 号正式发布。本次发布主要围绕完善 Eventing 中相关功能展开。本篇文章通过解读这些功能特性,希望能让你快速对 0.8 新版本有所了解。

新特性

新增 Choice CRD 资源

Choice 是用来做什么呢? 其实它与 sequence 类似,是用来定义 function 执行流程的。通过 Choice, 可以根据条件来选择function 进行事件处理。Choice 的定义如下:

apiVersion: messaging.knative.dev/v1alpha1
kind: Choice
metadata:
  name: check-assignment
spec:
  channelTemplate:
    apiVersion: messaging.knative.dev/v1alpha1
    kind: InMemoryChannel
  cases:  
  - filter:
      ref:
         apiVersion: serving.knative.dev/v1alpha1
         kind: Service
         name: data-assigned
    subscriber:
      ref:
        apiVersion: serving.knative.dev/v1alpha1
        kind: Service
        name: send-notice
  • channelTemplate: 设置所使用的Channel
  • cases: 表示选择条件
  • filter: 过滤条件,这里通过Service进行事件filter处理
  • subscriber:事件经过filter之后,最终发送的服务。

支持设置默认 Channel

默认 Channel 配置允许在不指定底层实现的情况下创建Channel。创建默认的Channel。注意这里的 Channel 是设置在messaging.knative.dev/v1alpha1分组下,原有在eventing.knative.dev分组下使用 Provisioner 模型的 Channel 会在 0.9 版本废弃。

apiVersion: messaging.knative.dev/v1alpha1
kind: Channel
metadata:
  name: default-channel
  namespace: default

通过configmap控制默认Channel设置。

apiVersion: v1
kind: ConfigMap
metadata:
  name: default-ch-webhook
  namespace: knative-eventing
data:
  default-ch-config: |
    clusterDefault:
      apiVersion: messaging.knative.dev/v1alpha1
      kind: InMemoryChannel
    namespaceDefaults:
      some-namespace:
        apiVersion: messaging.knative.dev/v1alpha1
        kind: KafkaChannel
        spec:
          numPartitions: 2
          replicationFactor: 1

这里指定了两个默认的Channel:

  • clusterDefault:集群级别的默认Channel(InMemoryChannel)。
  • namespaceDefaults:namespace级别的默认Channel(KafkaChannel)

另外 Brokers 和 Sequences 在没有指定Channel的情况下,都支持使用默认的 Channne l设置。

CloudEvents

CloudEvents 升级到0.3版本支持

监控增强

  • 在webhook中支持统计功能
  • Grafana and Prometheus中支持对 Eventing 指标采集
  • 在Broker Ingress中增加了metric 度量。

资源指定名称设置

在原有的Broker和Trigger中,使用GenerateName创建 Channel 和 Subscription。由于是自动产生的name,如果listers 数据不是最新的,可能导致 Channel 或 Subscription资源被多次创建。
另外 ApiServerSource 、 ContainerSource 和使用 provisioner 的 原有的Channel 也支持使用指定的name。

其它特性

  • CronJobSource 和 ApiServerSource 支持了事件注册 event types。
  • 在Trigger filter中增加了对 Cloud Event Attribute 过滤支持

其它主要变更

  • 升级 github.com/knative/pkg 到 knative.dev/pkg。这个变动可能会影响到代码开发使用 Knative 依赖包的设置,需要注意一下。
  • 将Broker's Ingress Handler 和 metrics移动到pkg目录下
  • 参考Serving中的策略,为Eventing中所有的资源对象打上eventing.knative.dev/release 标签, Value值可以设置为release 版本或者devel
  • Kafka channel 转移到了https://github.com/knative/eventing-contrib
  • Triggers 中 sourceAndType 属性接下来要被遗弃,新的字段为 attributes , 该新字段既支持标准的CloudEvents 属性, 也支持扩展的熟悉.

总结

本次 Knative Eventing 0.8 版本主要聚焦在功能完善方面,也从侧面反映 Knative Eventing 功能日渐成熟,相信在后续的版本迭代中主要集中在功能完善和优化。同时也欢迎对 Knative 有兴趣的一起交流。

欢迎加入 Knative 交流群

image

相关实践学习
使用容器计算服务ACS算力快速搭建生成式AI会话应用
本实验将指导您如何通过阿里云容器计算服务 ACS 快速部署并公开一个容器化生成式 AI 会话应用,并监控应用的运行情况。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
测试技术
[googletest] --- 简易使用教程
[googletest] --- 简易使用教程
755 0
IDEA 自定义注解(类注释、方法注释)
IDEA 自定义注解(类注释、方法注释)
5816 1
IDEA 自定义注解(类注释、方法注释)
|
JavaScript 前端开发 程序员
Vue.js学习和常用知识(一)
Vue.js 是一个流行的 JavaScript 框架,用于构建用户界面。Vue.js 具有简单易用、灵活性强、可扩展性好、文档齐全等特点,因此在前端开发中被广泛应用。下面将从 Vue.js 的基本概念、组件、指令、计算属性、监听器、生命周期等方面进行详解。
212 0
|
JavaScript 前端开发
vue常见的指令
vue常见的指令
74 2
|
JavaScript Java 测试技术
基于Java的学生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的学生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
116 3
|
弹性计算
阿里云服务器带宽计费模式按固定和按流量怎么选?选择全解析
阿里云服务器公网带宽计费模式按固定带宽和按使用流量哪个划算?按固定带宽计费1M带宽一个月23元,按使用流量计费1GB流量0.8元,如果云服务器带宽使用率低于10%,那么首选按使用流量计费,如果带宽实际利用率较高的话,按固定带宽计费更划算一些。云服务器吧来详细说下阿里云服务器带宽不同计费模式下收费价格、费用计算方法及如何选择更合适说明:
1974 1
阿里云服务器带宽计费模式按固定和按流量怎么选?选择全解析
|
Java 关系型数据库 MySQL
基于SpringBoot+Vue+Java+Mysql的智慧食堂的设计与实现,附源码
基于SpringBoot+Vue+Java+Mysql的智慧食堂的设计与实现,附源码
|
安全 Ubuntu Linux
嵌入式Linux开发环境搭建之十一 --- Putty连接虚拟机Centos出现:Network error:Connection refused的解决方法
嵌入式Linux开发环境搭建之十一 --- Putty连接虚拟机Centos出现:Network error:Connection refused的解决方法
658 0
KgCaptcha 图形验证码自定义验证行式
图形验证码是一种很常见的行为验证码,其中滑动拼图,用户只需要轻轻滑动滑块填充拼图,即可完成安全验证。通常包括嵌入式、触发式和弹出式三种形式。
KgCaptcha 图形验证码自定义验证行式
|
Linux 测试技术 网络安全
hfish蜜罐离线部署
hfish蜜罐离线部署
371 0