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 示意圖: