解读 Knative Eventing v0.10.0 最新版本特性

简介: Knative Eventing v0.10.0 版本已经于 10 月 29 号正式发布。本次发布继续围绕完善 Eventing 中相关功能展开。本篇文章通过解读这些功能特性,让你快速对 v0.10.0 版本有所了解。

前言

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 有兴趣的一起交流。

欢迎加入 Knative 交流群

image

相关实践学习
使用ACS算力快速搭建生成式会话应用
阿里云容器计算服务 ACS(Container Compute Service)以Kubernetes为使用界面,采用Serverless形态提供弹性的算力资源,使您轻松高效运行容器应用。本文将指导您如何通过ACS控制台及ACS集群证书在ACS集群中快速部署并公开一个容器化生成式AI会话应用,并监控应用的运行情况。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Java 流计算
【极数系列】Flink搭建入门项目Demo & 秒懂Flink开发运行原理(05)
【极数系列】Flink搭建入门项目Demo & 秒懂Flink开发运行原理(05)
855 3
|
存储 固态存储 文件存储
[hadoop3.x]HDFS存储类型和存储策略(五)概述
[hadoop3.x]HDFS存储类型和存储策略(五)概述
385 1
|
8月前
|
存储 Java 编译器
对比Java学习Go——程序结构与变量
本节对比了Java与Go语言的基础结构,包括“Hello, World!”程序、代码组织方式、入口函数定义、基本数据类型及变量声明方式。Java强调严格的面向对象结构,所有代码需置于类中,入口方法需严格符合`public static void main(String[] args)`格式;而Go语言结构更简洁,使用包和函数组织代码,入口函数为`func main()`。两种语言在变量声明、常量定义、类型系统等方面也存在显著差异,体现了各自的设计哲学。
305 0
|
机器学习/深度学习
前向扩散过程(Forward Process)
前向扩散过程(Forward Process)
573 6
|
分布式计算 资源调度 Hadoop
【Flink】版本 1.13+ 集成 Hadoop 问题
【Flink】版本 1.13+ 集成 Hadoop 问题
1625 0
|
Kubernetes Docker Perl
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
|
SQL 缓存 数据库连接
SqlAlchemy 2.0 中文文档(二十二)(5)
SqlAlchemy 2.0 中文文档(二十二)
188 1
|
安全 Linux 网络安全
"揭秘网络安全神秘面纱:防火墙基本原理大揭秘,小白也能轻松掌握!"
【8月更文挑战第19天】防火墙是网络防护的关键,像屏障般阻挡未授权访问。对新手而言,其原理可能不易理解。本文通过三个生活化的案例——家庭网络的守护、企业访问控制及防范DDoS攻击,搭配`iptables`示例,轻松阐述防火墙基础。学会这些,即便是初学者也能为网络安全贡献力量。
416 0
|
存储 消息中间件 运维
使用Java实现分布式日志系统
使用Java实现分布式日志系统
|
存储 编译器 Go
深入理解Go Workspace的三个关键目录结构
【8月更文挑战第31天】
988 0