Skip to content

概念

本节中的文档解释了常用的Knative概念和抽象,并帮助您更好地理解Knative是如何工作的。

什么是 Knative?

Knative是一个平台无关的解决方案,用于运行无服务器部署。

Knative 服务

Knative Serving将一组对象定义为Kubernetes自定义资源定义(CRDs)。 这些资源用于定义和控制无服务器工作负载在集群上的行为。

显示服务资源如何相互协调的关系图。

主要的Knative服务资源是服务、路由、配置和修订:

  • 服务: service.serving.knative.dev 资源自动管理您的工作负载的整个生命周期。 它控制其他对象的创建,以确保你的应用程序在每次服务更新时都有路由、配置和新的修订。 服务可以定义为始终将通信路由到最新修订或固定修订。

  • 路由: route.serving.knative.dev 资源将一个网络端点映射到一个或多个修订。 您可以通过多种方式管理流量,包括部分流量和命名路由。

  • 配置: configuration.serving.knative.dev 资源为您的部署维护所需的状态。 它在代码和配置之间提供了清晰的分离,并遵循了十二因素应用程序方法。 修改配置会创建一个新的修订。

  • 修订: revision.serving.knative.dev资源是对工作负载进行的每次修订的代码和配置的时间点快照。 修订是不可变的对象,只要有用就可以保留。 Knative服务修订可以根据传入的流量自动缩放。

有关资源及其交互的更多信息,请参见servingGithub存储库中的资源类型概述

Knative 事件

Knative 事件是一个 API 集合,它使您能够在应用程序中使用事件驱动的体系结构。 可以使用这些 API 创建将事件从事件生产者路由到事件消费者(称为接收事件的接收器)的组件。 还可以将接收器配置为通过发送响应事件来响应 HTTP 请求。

Knative 事件使用标准的 HTTP POST 请求在事件生产者和接收器之间发送和接收事件。 这些事件符合CloudEvents 规范,该规范支持在任何编程语言中创建、解析、发送和接收事件。

Knative 事件组件是松散耦合的,可以彼此独立地开发和部署。 任何生产者都可以在有活动事件消费者监听这些事件之前生成事件。 在生产者创建这些事件之前,任何事件消费者都可以表达对一类事件的兴趣。

Back to top

We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose. Learn more.

× OK