Knative 主要由 Build、Serving 和 Eventing 三大核心组件构成。Knative 正是依靠这三个核心组件,驱动著 Knative 这艘 Serverless 巨轮前行。下面让我们来分别介绍一下这三个核心组件。
Build
Knative Build 是基于现有的 Kubernetes 能力之上,提供的一套标准化、可移植、可复用的容器镜像构建方式。通过在 Kubernetes 上运行复杂的构建任务,Knative Build 使你不必再单独开发和重复这些镜像构建过程, 从而通过系统化、工程化的方式,减少了镜像构建时间及成本。
Build 通过 Kubernetes 自定义资源定义(CRD)实现。 通过 Build 你可以自定义一个从运行到结束的构建流程。例如,可以使用 Knative Build 来获取、构建和打包代码。Build 具备以下功能:
- 支持 Source 源挂载,目前支持的 Source 源包括:
- 支持通过 BuildTemplate 创建可重复执行构建的模板
- 支持 K8s ServiceAccount 身份验证
典型的 Build 示意图: