Knative是一款基於Kubernetes的Serverless架構。其目標是制定雲原生、跨平台的Serverless編排標準。Knative通過整合容器構建(或者函數)、工作負載管理(動態擴縮)以及事件模型這三者,來協助您部署和管理現代化的Serverless工作負載,打造企業級Serverless容器平台。
組件介紹
阿里雲Container ServiceKnative完全相容開源Knative,並與Container ServiceACK、訊息、儲存、網路等雲產品進行了全方位的融合,提供生產層級的Knative能力。
作為一個通用的Serverless架構,Knative由以下核心組件組成:
Serving:管理Serverless工作負載,和事件結合提供基於請求驅動的自動擴縮容能力。
Serving組件的職責是管理工作負載以對外提供服務。自動調整是Knative Serving組件最為重要的特性之一,目前伸縮邊界無限制。在沒有服務需要處理時,可縮容至零個執行個體。同時,Knative Serving還支援灰階發布。
Eventing:提供了事件的接入、觸發等一系列完整的事件管理能力。
Eventing組件針對Serverless事件驅動模式具備一套完整的設計,包括外來事件源的接入、事件註冊和訂閱、以及對事件的過濾等功能。事件模型可以有效地解耦生產者和消費者的依賴關係。生產者可以在消費者啟動之前產生事件,消費者也可以在生產者啟動之前監聽事件。
Function: Knative Functions為您提供了一個簡單的方式來建立、構建和部署Knative服務。
您無需深入瞭解底層技術棧(如Kubernetes、容器和Knative),通過使用Knative Functions,即可將無狀態、事件驅動的函數作為Knative服務部署到Kubernetes叢集中。
使用說明
註冊叢集支援使用Knative功能,使用時,您需要滿足以下條件:
已通過Container ServiceKubernetes版接入一個註冊的Kubernetes叢集(當前僅支援Kubernetes 1.18版本)。具體操作,請參見建立註冊叢集。
已通過kubectl串連註冊叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
只支援線下叢集是Calico路由反射器模式或者Cilium BGP路由模式。
文檔使用指引
功能 | 相關文檔 |
Knative版本發布說明 | |
阿里雲Knative和開源Knative對比 | |
Knative組件管理 | |
Knative服務管理 | |
Knative事件驅動 | |
Knative函數部署 | |
KServe | |
Knative最佳實務 |