愿景:安全事件处理和改进的事件发现 ¶
发布时间:2023-08-07, 修订时间:2024-01-17
愿景:安全事件处理和改进的事件发现¶
作者:Pierangelo Di Pilato,红帽高级软件工程师,Matthias Weßendorf,红帽高级首席软件工程师
Knative Eventing 的下一步是什么?¶
Knative Eventing 取得了重大进展,巩固了其作为 Kubernetes 上面向事件驱动的应用程序平台的地位。但是,我们与该项目的旅程远未结束;我们致力于其持续发展。我们的努力包括增强现有 API 和引入新功能,以进一步增强 Knative Eventing。以下是对未来几个月即将开展的举措的概览。
我们重视您的反馈,因为它在塑造项目的未来方面发挥着至关重要的作用。如果您发现任何缺失的功能或需要改进的领域,请随时与我们分享您的想法。您的意见对我们非常宝贵!
安全事件处理¶
安全事件处理是指以安全和可信的方式处理和分析事件或数据流的做法。事件可以包括各种类型的数据,例如用户交互、系统日志、传感器读数、网络流量或任何其他形式的实时或近实时数据。
安全事件处理的主要目标是确保处理事件的机密性、完整性和可用性,同时维护底层数据的隐私和安全。
传输加密¶
目前,集群内的事件传递缺乏加密,这限制了可以传输的事件类型——通常是那些合规性价值较低或合规性姿势较宽松的事件。或者,管理员必须诉诸服务网格或加密 CNI 来加密流量,这为 Knative Eventing 采用者带来了多重挑战。
即将推出的解决方案在于 Knative Brokers 和 Channels,它们将提供 HTTPS 端点来接收事件。但是,由于这些端点通常没有公共 DNS 名称(例如,svc.cluster.local 或类似名称),因此它们必须由特定于集群或组织的非公共 CA 签名。
为了促进这一点,事件生产者将能够从 Knative 资源的元数据中了解用于签署 Broker 或 Channel 证书的 CA 根证书。
有关更多详细信息,请参阅传输加密功能
授权和准入策略¶
事件驱动的架构旨在减少组织孤岛和障碍,促进弹性系统并增强业务敏捷性。但是,要实现这一愿景,就必须实施事件准入策略和强大的保障措施,以确保安全和数据质量。
事件准入策略将解决授权策略的关键要求,确定谁有权将事件发送到特定事件中心,例如 Knative Broker 或 Channel。此外,这些策略将管理被视为有效传输事件的内容,包括模式和其他相关元素。
授权和准入策略是将安全事件处理方面与下面详细介绍的事件发现领域联系起来的中心功能。
改进的事件发现¶
事件发现帮助开发人员了解他们可以消费哪些事件以及事件的外观,而无需深入研究各个级别的服务文档。
Knative 定义了一个 EventType API,允许发现 Knative Eventing 系统中可用的事件类型。这有助于开发人员了解可以监听和处理哪些类型的事件,这在事件产生量大的系统中尤其有用。
但是,目前不幸的是 EventType 使用不足,并且仅限于与 Knative Broker API 结合使用 Knative Source Ducktype 的源。
为了改进 Knative Eventing 的开发者体验,我们正在通过多种方式增强事件发现!
- 自动创建事件类型
- 超越代理 API 的使用
- 事件类型定义
自动创建事件类型¶
目前,EventType
API 要求开发人员手动创建 EventType
对象。
为了解决这个问题,我们引入了可选的功能标志,可以启用它以支持自动创建 EventTypes。
有关更多详细信息,请参阅eventtype-auto-creation
功能文档
我们将此功能视为记录和发现流经组织的事件的快速方法,但是,仍然可以手动创建 EventType
。
支持不仅仅是 Knative Brokers¶
目前,EventType
API 仅在使用 Knative Broker API 时可以使用,因为它包含一个名为 broker
的字段,该字段表示消费者可以使用其订阅此类事件的 Knative Broker 的名称。
EventType API 将弃用 .spec.broker
字段,并添加 .spec.reference
字段,该字段可以引用任何 Knative 资源,包括通道和接收器。
这消除了仅与 Broker API 一起使用事件类型元数据的限制,并允许与任何其他资源一起使用 EventType
API。
用于事件类型定义的 CRD¶
EventType
对象表示源系统正在积极发送的事件。
在构建事件驱动架构时,团队通常会进行设计阶段,在任何源系统发送事件之前,确定和记录事件结构及其元数据。
EventTypeDefinition
API 将是团队和系统集成商可用于向其他团队记录此类事件类型可能可用的对象类型。
有关更详细的信息,请参阅功能跟踪文档
结论¶
如您所见,我们致力于推动 Knative Eventing 项目向前发展。以上显示了安全事件处理或改进的事件发现等主题得到解决,以改善所有 Knative Eventing 用户的开发人员体验。
然而,我们尚未完成!我们热衷于改进 Knative Eventing,并继续在 Kubernetes 事件驱动架构领域进行创新。但我们不能独自做到这一点:我们也需要您的帮助!
如果您感到好奇并想参与,请探索我们拥有的Github 项目,或随时加入我们的Slack 频道。您的合作和贡献对 Knative 的持续成功至关重要。让我们共同塑造 Kubernetes 上事件驱动应用程序的未来!