赠书 | 什么是 Knative?
作者 |?李志偉、游楊
來源 | 華章計算機
頭圖 | 下載于視覺中國
??導讀?
什么是Knative?本文將對Knative的產生背景及發展歷程,架構設計,受眾群體等做詳細介紹。
Knative是由谷歌發起,有Pivotal、IBM、Red Hat等公司共同參與開發的Serverless開源解決方案(項目地址是https://github.com/knative)。官方給Knative的定位為“基于Kubernetes的平臺,用來構建、部署和管理現代Serverless工作負載”。通過Knative可將云原生應用開發在三個領域的最佳實踐結合起來,這三個領域的最佳實踐是指服務構建部署的自動化、服務編排的彈性化以及事件驅動基礎設施的標準化。
Knative的產生背景及發展歷程
Serverless的理念受到了業界廣泛的認可。眾多云廠商也都相繼發布了各自的Serverless產品的托管服務。但Serverless發展的主要障礙依然沒有鏟除。Serverless標準不統一,應用無法跨平臺或跨云廠商遷移,直接導致應用程序與具體云廠商綁定,這極大地影響了企業在技術選型時對Serverless的選擇。
隨著Kubernetes生態的發展壯大,基于Kubernetes的開源Serverless解決方案也大量出現,基于Kubernetes云原生平臺的Serverless的標準化需求也更加強烈。Knative的主要目標就是將Serverless標準化。
Knative開源項目將Serverless平臺中的服務管理、事件驅動、構建部署進行了標準化。它既可以以托管服務形式運行在公有云中,也可以部署在企業內部的數據中心,從而很好地解決多云部署以及供應商鎖定的問題。
在兩年多時間里,Knative不斷發展演進。
2018年7月,在Google Cloud Next 2018大會上,谷歌正式發布了Knative。
2019年4月,在Google Cloud Next 2019大會上,谷歌正式發布了谷歌云的無服務器計算產品Cloud Run。Cloud Run是Knative的托管服務,也是Knative第一個商用的托管服務。
2019年8月,0.8版本發布,這是Serving第一個RC版本。
2020年7月,0.16.0版本發布。?
Knative的架構設計
Knative的架構設計遵循了標準化、可替代、松散組合、不綁定的總體設計原則。它以Kubernetes擴展的形式實現了服務構建和部署的自動化、服務編排的彈性化以及事件驅動基礎設施的標準化。
Knative以Kubernetes擴展的形式提供了一整套中間件,用來構建新一代以代碼為中心、基于容器的應用程序。這些應用程序可以運行在任何云環境中。
1)Knative整合Kubernetes平臺的最佳實踐,將能力主要聚焦在容器的部署、路由和流量管理、按需自動化擴縮容、事件綁定服務。
2)Knative由Serving和Eventing兩大組件構成。其中,Serving組件負責實現請求驅動計算,支持縮容到零;Eventing組件負責事件的交付和管理。
3)Knative建立在Kubernetes生態的基礎之上。它整合了Kubernetes和Istio的能力,沒有重新造輪子,從Kubernetes生態中獲益的同時進一步推動了Kubernetes的應用,如圖1所示。
Knative是一個云原生Serverless框架,可以運行任何無狀態容器應用。這也意味著Knative可以通過容器整合各類FaaS平臺的運行時框架,實現兼容各類FaaS平臺已有的應用程序。?
圖1? Knative與Kubernetes生態
?
Knative的主要受眾群
不同的受眾使用Knative的方式是不同的,如圖2所示。?
圖2 Knative的受眾群及分工
1)開發人員:開發人員通過Knative組件提供的Kubernetes原生API部署Serverless風格的函數、應用和容器。
2)運維人員:Knative可以被集成到現有的云廠商或企業內部運維的Kubernetes服務上,支持在任何兼容的Kubernetes版本上安裝運行。
3)社區貢獻者:Knative是一個多元化、開放且包容的社區。它擁有清晰的項目范圍定義、輕量的管制模型以及每個可插拔組件間整潔的分隔線,以此為基礎建立起高效的工作流。社區貢獻者可以提供項目代碼和文檔。
Knative的商業托管服務產品
Knative是一個擁有眾多廠商參與的社區,其中很多廠商已經提供Knative的商業托管服務產品。以下是Knative部分商業托管服務產品的清單。
Gardener:通過在Gardener vanilla Kubernetes集群中安裝Knative,實現無服務器運行時附加層。
Google Cloud Run for Anthos:通過Serverless開發平臺來擴展Google Kubernetes Engine。利用Cloud Run for Anthos,你可以通過Kubernetes的靈活性獲得Serverless的開發體驗,從而在自己的集群上部署和管理Knative服務。
Google Cloud Run:由谷歌云全托管的基于Knative的Serverless計算平臺。你無須管理Kubernetes集群,通過Cloud Run可以在幾秒鐘內將容器應用到生產環境中。
Managed Knative for IBM Cloud Kubernetes Service:IBM Kubernetes Service的托管附加組件,便于你在自己的Kubernetes集群上部署和管理Knative服務。
OpenShift Serverless:OpenShift容器平臺可以讓有狀態、無狀態的Serverless工作負載自動在單個多云容器平臺上運行。開發人員可以使用一個平臺來托管其微服務、傳統應用和Serverless應用程序。
Pivotal Function Service (PFS):一個用于在Kubernetes上構建和運行函數、應用程序和容器的平臺,基于RIFF的開源項目。
TriggerMesh Cloud:一個全托管的Knative和Tekton平臺,支持AWS、Azure和Google事件源和代理。
本文摘編自《Knative實戰:基于Kubernetes的無服務器架構實踐》。
對于Knative,你有哪些了解?
#歡迎來評論區討論#
CSDN云計算?將選出三名優質留言
攜手【機械工業出版社華章分社】送出
《Knative實戰》一本
截至4月19日14:00點
2020-2021中國開發者調查報告重磅來襲,直接掃碼或微信搜索「CSDN」公眾號,后臺回復關鍵詞「開發者」,快速獲取完整的報告內容!
更多精彩推薦 ?如何部署一個Kubernetes集群?繼云計算巨頭失火后,微軟決定送數據中心去“泡澡”!?走過 30 年:銀行數據庫的下一步是國產化 點分享點收藏點點贊點在看總結
以上是生活随笔為你收集整理的赠书 | 什么是 Knative?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯智慧交通战略重磅升级 打造以人为中心
- 下一篇: 为产业数字化赋能!施耐德电气数字产业示范