天天看點

Serverless 工程實踐 | 零基礎上手 Knative 應用Knative 介紹

作者|劉宇

前言:Knative 是一款基于 Kubernetes 的 Serverless 架構。其目标是制定雲原生、跨平台的 Serverless 編排标準。

Knative 介紹

  • 開發者是指 Serverless 服務的開發人員可以直接使用原生 Kubernetes API 基于 Knative 部署 Serverless 服務。
  • 貢獻者主要是指社群的貢獻者。
  • Knative 可以被內建到支援的環境中,例如雲廠商或者企業内部。目前,Knative 是基于Kubernetes來實作的,是以可以認為有 Kubernetes 的地方就可以部署 Knative。
  • 使用者指終端使用者,其通過Istio網關通路服務或者事件系統觸發 Knative 中的 Serverless 服務。
  • 作為一個通用的 Serverless 架構,Knative 由 3 個核心元件組成。
  • Tekton:提供從源碼到鏡像的通用建構能力。Tekton 元件主要負責從代碼倉庫擷取源碼并編譯成鏡像,推送到鏡像倉庫。所有這些操作都是在 Kubernetes Pod 中進行的。
  • Eventing:提供事件的接入、觸發等一整套事件管理能力。Eventing 元件針對 Serverless 事件驅動模式做了一套完整的設計,包括外部事件源的接入、事件注冊、訂閱以及事件過濾等功能。事件模型可以有效地解耦生産者和消費者的依賴關系。生産者可以在消費者啟動之前生成事件,消費者也可以在生産者啟動之前監聽事件。
    Serverless 工程實踐 | 零基礎上手 Knative 應用Knative 介紹
    在 Knative 體系架構下各角色的協作關系
  • Serving:管理 Serverless 工作負載,可以和事件很好地結合,并且提供了基于請求驅動的自動伸縮能力,而且在沒有服務需要處理的時候可以縮容到零。Serving 元件的職責是管理工作負載以對外提供服務。Serving 元件最重要的特性就是自動伸縮的能力。目前,其伸縮邊界無限制。Serving 還具有灰階釋出能力。

Knative 部署

體驗測試

繼續閱讀