Knative是一款基于Kubernetes的Serverless框架。其目标是制定云原生、跨平台的Serverless编排标准。Knative通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件模型这三者,来帮助您部署和管理现代化的Serverless工作负载,打造企业级Serverless容器平台。
组件介绍
阿里云容器服务Knative完全兼容开源Knative,并与容器服务ACK、消息、存储、网络等云产品进行了全方位的融合,提供生产级别的Knative能力。
作为一个通用的Serverless框架,Knative由以下核心组件组成:
Serving:管理Serverless工作负载,和事件结合提供基于请求驱动的自动扩缩容能力。
Serving组件的职责是管理工作负载以对外提供服务。自动伸缩是Knative Serving组件最为重要的特性之一,目前伸缩边界无限制。在没有服务需要处理时,可缩容至零个实例。同时,Knative Serving还支持灰度发布。
Eventing:提供了事件的接入、触发等一系列完整的事件管理能力。
Eventing组件针对Serverless事件驱动模式具备一套完整的设计,包括外部事件源的接入、事件注册和订阅、以及对事件的过滤等功能。事件模型可以有效地解耦生产者和消费者的依赖关系。生产者可以在消费者启动之前产生事件,消费者也可以在生产者启动之前监听事件。
Function: Knative Functions为您提供了一个简单的方式来创建、构建和部署Knative服务。
您无需深入了解底层技术栈(如Kubernetes、容器和Knative),通过使用Knative Functions,即可将无状态、事件驱动的函数作为Knative服务部署到Kubernetes集群中。
使用说明
注册集群支持使用Knative功能,使用时,您需要满足以下条件:
已通过容器服务Kubernetes版接入一个注册的Kubernetes集群(当前仅支持Kubernetes 1.18版本)。具体操作,请参见创建注册集群。
已通过kubectl连接注册集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
只支持线下集群是Calico路由反射器模式或者Cilium BGP路由模式。
文档使用指引
功能 | 相关文档 |
Knative版本发布说明 | |
阿里云Knative和开源Knative对比 | |
Knative组件管理 | |
Knative服务管理 | |
Knative事件驱动 | |
Knative函数部署 | |
KServe | |
Knative最佳实践 |