Knative 服务¶
Knative Serving将一组对象定义为Kubernetes自定义资源定义(CRDs)。 这些资源用于定义和控制无服务器工作负载在集群上的行为。
主要的Knative服务资源是服务、路由、配置和修订:
-
服务:
service.serving.knative.dev
资源自动管理您的工作负载的整个生命周期。 它控制其他对象的创建,以确保你的应用程序在每次服务更新时都有路由、配置和新的修订。 服务可以定义为始终将通信路由到最新修订或固定修订。 -
路由:
route.serving.knative.dev
资源将一个网络端点映射到一个或多个修订。 您可以通过多种方式管理流量,包括部分流量和命名路由。 -
配置:
configuration.serving.knative.dev
资源为您的部署维护所需的状态。 它在代码和配置之间提供了清晰的分离,并遵循了十二因素应用程序方法。 修改配置会创建一个新的修订。 -
修订:
revision.serving.knative.dev
资源是对工作负载进行的每次修订的代码和配置的时间点快照。 修订是不可变的对象,只要有用就可以保留。 Knative服务修订可以根据传入的流量自动缩放。
有关资源及其交互的更多信息,请参见serving
Github存储库中的资源类型概述。
常见用例¶
支持的Knative服务用例示例:
- 快速部署无服务器容器。
- 自动缩放,包括将豆荚缩放到零。
- 支持多个网络层,如Contour、Kourier和Istio,以便集成到现有环境中。
Knative服务同时支持HTTP和HTTPS网络协议。
安装¶
您可以通过安装页面中列出的方法安装Knative服务.
开始¶
要开始使用服务,请查看hello world示例项目之一。
这些项目使用Service
资源,它为你管理所有的细节。
使用Service
资源,部署的服务将自动创建匹配的路由和配置。
每次Service
更新时,都会创建一个新的修订。
更多示例和演示¶
调试Knative服务问题¶
配置和网络¶
可观察性¶
已知的问题¶
有关已知问题的完整列表,请参见Knative服务问题页面。