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