Knative概述
Knative是一款基于Kubernetes的Serverless框架。其目標(biāo)是制定云原生、跨平臺(tái)的Serverless編排標(biāo)準(zhǔn)。Knative通過整合容器構(gòu)建(或者函數(shù))、工作負(fù)載管理(動(dòng)態(tài)擴(kuò)縮)以及事件模型這三者,來幫助您部署和管理現(xiàn)代化的Serverless工作負(fù)載,打造企業(yè)級(jí)Serverless容器平臺(tái)。
組件介紹
阿里云容器服務(wù)Knative完全兼容開源Knative,并與容器服務(wù)ACK、消息、存儲(chǔ)、網(wǎng)絡(luò)等云產(chǎn)品進(jìn)行了全方位的融合,提供生產(chǎn)級(jí)別的Knative能力。
作為一個(gè)通用的Serverless框架,Knative由以下核心組件組成:
Serving:管理Serverless工作負(fù)載,和事件結(jié)合提供基于請(qǐng)求驅(qū)動(dòng)的自動(dòng)擴(kuò)縮容能力。
Serving組件的職責(zé)是管理工作負(fù)載以對(duì)外提供服務(wù)。自動(dòng)伸縮是Knative Serving組件最為重要的特性之一,目前伸縮邊界無限制。在沒有服務(wù)需要處理時(shí),可縮容至零個(gè)實(shí)例。同時(shí),Knative Serving還支持灰度發(fā)布。
Eventing:提供了事件的接入、觸發(fā)等一系列完整的事件管理能力。
Eventing組件針對(duì)Serverless事件驅(qū)動(dòng)模式具備一套完整的設(shè)計(jì),包括外部事件源的接入、事件注冊(cè)和訂閱、以及對(duì)事件的過濾等功能。事件模型可以有效地解耦生產(chǎn)者和消費(fèi)者的依賴關(guān)系。生產(chǎn)者可以在消費(fèi)者啟動(dòng)之前產(chǎn)生事件,消費(fèi)者也可以在生產(chǎn)者啟動(dòng)之前監(jiān)聽事件。
Function: Knative Functions為您提供了一個(gè)簡(jiǎn)單的方式來創(chuàng)建、構(gòu)建和部署Knative服務(wù)。
您無需深入了解底層技術(shù)棧(如Kubernetes、容器和Knative),通過使用Knative Functions,即可將無狀態(tài)、事件驅(qū)動(dòng)的函數(shù)作為Knative服務(wù)部署到Kubernetes集群中。
使用說明
注冊(cè)集群支持使用Knative功能,使用時(shí),您需要滿足以下條件:
已通過容器服務(wù)Kubernetes版接入一個(gè)注冊(cè)的Kubernetes集群(當(dāng)前僅支持Kubernetes 1.18版本)。具體操作,請(qǐng)參見創(chuàng)建注冊(cè)集群。
已通過kubectl連接注冊(cè)集群。具體操作,請(qǐng)參見獲取集群KubeConfig并通過kubectl工具連接集群。
只支持線下集群是Calico路由反射器模式或者Cilium BGP路由模式。
文檔使用指引
功能 | 相關(guān)文檔 |
Knative版本發(fā)布說明 | |
阿里云Knative和開源Knative對(duì)比 | |
Knative組件管理 | |
Knative服務(wù)管理 | |
Knative事件驅(qū)動(dòng) | |
Knative函數(shù)部署 | |
KServe | |
Knative最佳實(shí)踐 |