Serverless 工程實(shí)踐 | 零基礎(chǔ)上手 Knative 應(yīng)用
作者 | 劉宇(江昱)
Knative 介紹
開發(fā)者是指 Serverless 服務(wù)的開發(fā)人員可以直接使用原生 Kubernetes API 基于 Knative 部署 Serverless 服務(wù)。
貢獻(xiàn)者主要是指社區(qū)的貢獻(xiàn)者。
Knative 可以被集成到支持的環(huán)境中,例如云廠商或者企業(yè)內(nèi)部。目前,Knative 是基于Kubernetes來實(shí)現(xiàn)的,所以可以認(rèn)為有 Kubernetes 的地方就可以部署 Knative。
用戶指終端用戶,其通過Istio網(wǎng)關(guān)訪問服務(wù)或者事件系統(tǒng)觸發(fā) Knative 中的 Serverless 服務(wù)。
作為一個通用的 Serverless 框架,Knative 由 3 個核心組件組成。
Tekton:提供從源碼到鏡像的通用構(gòu)建能力。Tekton 組件主要負(fù)責(zé)從代碼倉庫獲取源
碼并編譯成鏡像,推送到鏡像倉庫。所有這些操作都是在 Kubernetes Pod 中進(jìn)行的。
Eventing:提供事件的接入、觸發(fā)等一整套事件管理能力。Eventing 組件針對 Serverless 事件驅(qū)動模式做了一套完整的設(shè)計(jì),包括外部事件源的接入、事件注冊、訂閱以及事件過濾等功能。事件模型可以有效地解耦生產(chǎn)者和消費(fèi)者的依賴關(guān)系。生產(chǎn)者可以在消費(fèi)者啟動之前生成事件,消費(fèi)者也可以在生產(chǎn)者啟動之前監(jiān)聽事件。

Serving:管理 Serverless 工作負(fù)載,可以和事件很好地結(jié)合,并且提供了基于請求驅(qū)動的自動伸縮能力,而且在沒有服務(wù)需要處理的時(shí)候可以縮容到零。Serving 組件的職責(zé)是管理工作負(fù)載以對外提供服務(wù)。Serving 組件最重要的特性就是自動伸縮的能力。目前,其伸縮邊界無限制。Serving 還具有灰度發(fā)布能力。












kubectl get knative
新書推薦

Serverless 工程實(shí)踐系列
