CNCF 接受 Knative 項目,對云原生生態(tài)意味著什么?
上周,云原生計算基金會 (CNCF)宣布[1]接受 Knative 作為孵化項目,加入 Cilium、Crossplane、Dapr 和 Flux 等項目。
2021 年 11 月,Knative 的主要創(chuàng)始成員之一谷歌決定將該項目捐贈給 CNCF。這引起了云原生社區(qū)的注意,因為谷歌早些時候決定將其一些關鍵的開源項目,如 Istio 和 Angular,轉移到Open Usage Commons[2] (OUC)。新的 OUC 組織管理開源項目的商標,同時繼續(xù)鼓勵社區(qū)的協(xié)作和貢獻。
盡管 Knative 并未正式成為 Open Usage Commons 的一部分,但由 Google 大力貢獻的項目Istio[3]已移至 OUC。社區(qū)期望谷歌將 Knative 添加到 OUC 項目的組合中。但 Red Hat、IBM、SAP、VMware 和 Knative 的其他貢獻者強烈反對這種做法。谷歌決定讓 Knative 成為 CNCF 的一部分,這讓該項目的貢獻者和消費者松了一口氣。
CNCF 對 Knative 的接受是項目發(fā)展過程中的一個關鍵里程碑。它將推動云原生生態(tài)系統(tǒng)中無服務器技術的開發(fā)和采用。
無服務器部署基于事件驅動和歸零執(zhí)行模型。在 Kubernetes 上運行的微服務是響應內部或外部事件而執(zhí)行的。它們會根據需求自動擴展。當沒有客戶端使用微服務時,環(huán)境會自動將其縮放為零,從而釋放所有分配的資源。這導致有效的資源利用。
AWS 是最早在 2014 年以 AWS Lambda 形式引入無服務器平臺的公司之一。Knative 帶來了在 Kubernetes 上下文中構建和部署無服務器組件的能力。
Knative 有兩個組成部分~Serving 和 Eventing。Serving 層為網絡、自動縮放和托管微服務的多個修訂版提供管道。Eventing 層將發(fā)布/訂閱模式引入 Kubernetes 以啟用事件驅動的執(zhí)行。Serving 和 Eventing 的結合使強大的場景能夠實現復雜的無服務器模式。
Knative 是一個元平臺~一個平臺的平臺。它旨在讓平臺公司構建一個向開發(fā)人員公開的附加應用程序層。雖然 Knative 帶有無服務器所需的核心構建塊和基礎設施,但它缺乏開發(fā)人員體驗層。
包括 Google、IBM、VMware 和 Red Hat 在內的平臺公司在 Knative 之上構建了額外的工具來增強開發(fā)者體驗。Google Cloud Run for Anthos[4]、IBM Cloud Code Engine[5]、Red Hat OpenShift Serverless[6]、Cloud Native Runtimes for VMware Tanzu[7]都是由 Knative 提供支持的平臺示例。
TriggerMesh[8]是一家位于北卡羅來納州的初創(chuàng)公司,為云和本地環(huán)境提供完全托管的 Knative。它使開發(fā)人員能夠輕松地使用部署在 Kubernetes 集群中的微服務中基于云的資源觸發(fā)的事件。
隨著項目轉移到 CNCF,社區(qū)將自信地擁抱 Knative,從而加速采用無服務器技術。平臺供應商將利用它為他們的軟件添加 scale-to-zero 功能。KServe[9]是一個開源的云原生機器學習推理平臺,它依靠 Knative 為模型添加自動縮放功能。這是 Knative 將如何推動無服務器實施的示例。
盡管 Kubernetes 存在許多無服務器平臺的實現,但 Knative 因其健壯性、成熟性和可擴展性而脫穎而出。它是成為云原生計算基金會一部分的首批無服務器平臺之一。
CNCF 對 Knative 的接受為云原生生態(tài)系統(tǒng)開辟了一條激動人心的道路。