解读 Knative Eventing v0.11.0 新特性

简介: Knative Eventing v0.11.0 版本已经于 12 月 10 号正式发布。本次发布围绕 Eventing 事件源接入及事件可用性等相关功能展开。本文通过解读这些功能特性,让你快速对 v0.11.0 版本有所了解。

前言

Knative Eventing v0.11.0 版本已经于 12 月 10 号正式发布。本次发布围绕 Eventing 事件源接入及事件可用性等相关功能展开。本文通过解读这些功能特性,让你快速对 v0.11.0 版本有所了解。

新特性

SinkBinding

SinkBinding 是Kantive 中 Binding 设计模式的具体运用。支持将K8s 中已有的资源(如Deployment, Job, DaemonSet, StatefulSet)、 Knative Service 等与目标绑定资源(Knative 、Broker)通过注入环境变量K_SINK进行事件发送等访问。可以理解对原有ContainerSource的一种扩展。示例如下:

apiVersion: sources.knative.dev/v1alpha1
kind: SinkBinding
metadata:
  name: deployment-binding
spec:
  subject:
    apiVersion: apps/v1
    kind: Deployment
    # namespace defaults to same as binding.
    name: event-producer
  sink:
    ref:
      apiVersion: eventing.knative.dev/v1alpha1
      kind: Broker
      # namespace defaults to same as binding.
      name: default

该示例表示通过event-producer的 Deployment 资源产生事件,并将事件发送给 default Broker。通过 SinkBinding 资源,能够将两种不同的资源直接建立访问关系,这种设计模式值得借鉴

增强事件交付 - dead letter sink

Knative Eventing 中如果发送事件异常,可以通过重试发送未成功使用的事件,若重试依然不起作用,则可以决定将这些事件转发到一个死信接收服务。当前 InMemoryChannel 已支持该特性。示例如下:

apiVersion: messaging.knative.dev/v1alpha1
kind: Subscription
metadata:
  name: with-dead-letter-sink
spec:
  channel:
    apiVersion: messaging.knative.dev/v1alpha1
    kind: InMemoryChannel
    name: default
  delivery:
    deadLetterSink:
      ref:
        apiVersion: serving.knative.dev/v1
        kind: Service
        name: error-handler
  subscriber:
    uri: http://doesnotexist.default.svc.cluster.local

当事件发送异常时,可以将异常事件发送到 deadLetterSink 中 error-handler 服务进行处理。

其它特性

  • APIServer 资源支持报告get/watch/list 是否有足够的权限进行操作
  • Trigger 资源支持通过 SubscriberResolved 展示订阅状态
  • ApiServerSource 和 CronjobSource 当前产生 CloudEvent 1.0 的数据格式

其它关键信息

  • Parallel 资源已经移到了parallels.flows.knative.dev/v1beta1分组中,parallels.messaging.knative.dev 分组接下来将会被遗弃。
  • Sequence 资源已经移到了sequences.flows.knative.dev/v1beta1 分组中,sequences.messaging.knative.dev 分组接下来会被遗弃
  • 使用 Subscription.spec.reply 替换原有 Subscription.spec.reply.channel 属性

总结

本次 Knative Eventing v0.11.0 版本主要增强了k8s事件源的接入以及事件的交付可用性,在后续的版本迭代中会更多的关于事件源接入进行优化。欢迎对 Knative 有兴趣的一起交流。

欢迎加入 Knative 交流群

image

目录
相关文章
|
OLAP 数据库 索引
59.【clickhouse】ClickHouse从入门到放弃-分区表
【clickhouse】ClickHouse从入门到放弃-分区表
59.【clickhouse】ClickHouse从入门到放弃-分区表
|
Kubernetes Cloud Native 调度
云原生|kubernetes|CKA真题解析-------(1-5题)
云原生|kubernetes|CKA真题解析-------(1-5题)
1154 0
|
敏捷开发 开发框架 数据可视化
|
存储 Kubernetes 安全
|
存储 自然语言处理 关系型数据库
MySQL 自定义变量并声明字符编码
MySQL 自定义变量并声明字符编码
466 1
|
人工智能 搜索推荐 机器人
OpenAI 将向企业开放 GPT-4o 模型定制版,国内怎么使用ChatGPT?
OpenAI新推功能让企业客户能定制GPT-4o模型,通过微调技术满足特定需求和业务场景,以前所未有的方式优化AI投资回报。企业上传自有数据后,可在一到两小时内完成模型定制,如滑板公司打造专业客服聊天机器人解答详细问题,大幅提升服务针对性与客户体验。目前定制限于文本数据,但仍显著增强了企业应用AI的灵活性与效率。
382 2
OpenAI 将向企业开放 GPT-4o 模型定制版,国内怎么使用ChatGPT?
|
设计模式 测试技术 PHP
深入解析 Laravel 中的依赖注入
【8月更文挑战第31天】
440 0
|
存储 调度 块存储
十二年磨一剑:三代架构演进,打造高性能、低成本的块存储!
上周,全球计算机存储顶会USENIX FAST 2024 在美国加州圣克拉拉召开,继去年获得国内首个FAST最佳论文奖后,凭借在分布式块存储上的创新,阿里云新作再次斩获FAST大会最佳论文奖。这也是国内唯一一家连续两年获得FAST最佳论文奖的科技公司。
106888 105
|
安全 关系型数据库 MySQL
openvas报错Warning: Secinfo Database Missing SCAP and/or CERT database missing on OMP server.
openvas报错Warning: Secinfo Database Missing SCAP and/or CERT database missing on OMP server.
|
域名解析 负载均衡 网络协议
双重神器合璧,流量洪流中的稳如磐石:揭秘Bind+Nginx负载均衡的超级力量!
【8月更文挑战第9天】在现代网站架构中,负载均衡至关重要,它通过分散客户端请求至多台服务器,确保了系统的高可用性和稳定性。本文介绍如何结合Bind与Nginx实现高效负载均衡。Bind作为DNS服务器,可为单一域名解析出多个IP地址;Nginx作为高性能HTTP服务器,则在这些IP对应的服务器间智能分配流量。通过配置Bind的A记录与Nginx的`upstream`和`proxy_pass`指令,我们能够构建一个既稳定又易扩展的负载均衡系统,显著提升用户体验与系统可靠性。
296 11