文档

Knative概述

更新时间:

Knative是一款基于Kubernetes的Serverless框架。其目标是制定云原生、跨平台的Serverless编排标准。Knative通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件模型这三者来实现的这一Serverless标准。

Knative体系架构

在Knative体系架构下各个角色的协作关系。Knative体系架构

说明

上图来自于Knative开源技术文档,已采用知识共享署名 4.0 国际许可协议(CC-BY-4.0)进行许可。

  • Developers

    Serverless服务的开发人员可以直接使用原生的Kubernetes API基于Knative部署Serverless服务。

  • Contributors

    主要是指社区的贡献者。

  • Operators

    Knative可以被集成到支持的环境中,例如,云厂商,或者企业内部。目前Knative是基于Kubernetes来实现的,只要有Kubernetes的地方就可以部署Knative。

  • Users

    终端用户通过Istio网关访问服务,或者通过事件系统触发Knative中的Serverless服务。

Knative核心组件

作为一个通用的Serverless框架,Knative由两个核心组件组成:

  • Eventing:提供了事件的接入、触发等一整套事件管理的能力。

    Eventing组件针对Serverless事件驱动模式进行了一套完整的设计。包括外部事件源的接入、事件注册和订阅,以及对事件的过滤等功能。事件模型可以有效地解耦生产者和消费者的依赖关系。生产者可以在消费者启动之前产生事件,消费者也可以在生产者启动之前监听事件。

  • Serving:管理Serverless工作负载,提供了应用部署、多版本管理、基于请求的自动弹性、灰度发布等能力,而且在没有服务需要处理的时候可以缩容到零个实例。

Knative add-on组件

Knative支持第三方add-on组件。当前支持GitHub add-on组件,用于提供GitHub事件源支持。

Knative安装部署

说明

如果您的集群版本小于Kubernetes 1.22,请先升级集群版本。

标准托管Kubernetes 、标准专有Kubernetes以及ACK Serverless集群支持部署Knative。部署方式如下:

  • 在标准托管Kubernetes集群和标准专有Kubernetes集群中安装部署Knative,详细介绍请参见部署Knative

  • ACK Serverless集群中安装部署Knative,详细介绍请参见Knative组件管理

Knative计费说明

Knative本身不收取管理费用,但在使用过程中所创建的云服务器、负载均衡实例、NAT网关等,按照相应资源的价格计费。

Knative交流群

如果您对于Knative有任何疑问,欢迎您单击链接提交申请加入组织。

  • 本页导读 (1)
文档反馈