开源 Serverless 里程碑:Knative 1.0 来了
作者:元毅
導(dǎo)讀
Knative 是基于 Kubernetes 之上提供的一款開源 Serverless 應(yīng)用框架,幫助用戶部署和管理現(xiàn)代化的 Serverless 工作負載,打造企業(yè)級 Serverless 平臺。Knative 具備如下優(yōu)勢:
- 在幾秒鐘內(nèi)建立可擴展、安全、無狀態(tài)的服務(wù)。
- 具有更高級別 Kubernetes?應(yīng)用抽象的 API。
- 可插拔組件,讓您可以使用自己的日志記錄和監(jiān)控、網(wǎng)絡(luò)和服務(wù)網(wǎng)格。
- 在 Kubernetes 運行的任何地方都可以運行 Knative,無需擔心供應(yīng)商鎖定。
- 開發(fā)者無縫體驗,支持 GitOps、DockerOps、ManualOps 等。
- 支持常用工具和框架,例如 Django、Ruby on Rails、Spring 等。
Knative?1.0
近期 Knative 發(fā)布了?1.0 版本,達到了一個重要的里程碑。Knative 自 2018 年 7 月首次發(fā)布以來, 版本不斷的迭代發(fā)展,除了無數(shù)的錯誤修復(fù)、穩(wěn)定性和性能增強之外,按時間順序還進行了以下改進:
- 支持多個 HTTP 路由層(包括 Istio、Contour、Kourier 和 Ambassador)
- 支持事件驅(qū)動 Eventing 概念以及常見的訂閱方法(包括 Kafka、GCP PubSub 和 RabbitMQ)
- “鴨子類型 " 的抽象,允許處理具有共同字段(如 status.conditions 和 status.address)的任意 Kubernetes 資源
- 支持額外功能插件的命令行客戶端
- 6 周一次的定期發(fā)布流程
- 支持 HTTP/2、gRPC 和 WebSockets
- Broker 和 Trigger,以簡化事件的發(fā)布和訂閱,同時將生產(chǎn)者和消費者解耦
- 支持事件組件向非 Knative 組件傳遞,包括集群外組件或主機上的特定 URL
- 支持自動提供 TLS 證書(通過 DNS 或 HTTP01 挑戰(zhàn))
- 定制事件交付選項,包括對無法交付的事件進行重試和 dead-letter 死信隊列
- 對 Broker 和 Channel 的事件追蹤支持,以改善調(diào)試工作
- 由 Knative Build 催生的 Tekton 項目
- 支持并行和順序組件,用于編排事件的工作流
- 事件源的文檔以及如何貢獻說明,目前涵蓋了大約 40 個不同的事件源
- “無中斷” 平滑升級,在小版本升級期間無請求中斷
- 重新設(shè)計Serving的 API,以匹配Deployment、CronJob 等使用的 PodTemplateSpec,簡化 Kubernetes 用戶的使用
- 支持將事件目標地址注入 PodTemplateSpec 的對象中
- 支持基于并發(fā)數(shù)或 RPS 的水平 Pod 自動擴縮容
- 使用領(lǐng)導(dǎo)者選舉實現(xiàn)控制平面組件的高可用性
- 提供一個幫助管理員安裝 Knative 的 Operator
- 快速入門,供開發(fā)者在本地試用 Knative
- 使用 DomainMapping 簡化服務(wù)的管理和發(fā)布
Knative 到底有多少擁躉
從 Knative 誕生到 1.0 發(fā)布至今,不斷的會面對一系列這樣的問題:Knative 到底有多少企業(yè)在使用?是否生產(chǎn)可用?
根據(jù) CNCF 2020 中國云原生調(diào)查報告,Knative 已經(jīng)成為 Kubernetes 上最廣泛安裝的無服務(wù)器。
圖片 1?(圖片來源詳見文末相關(guān)鏈接)
另外 Knative 社區(qū)近期也發(fā)起了一項統(tǒng)計:當前哪些云廠商或企業(yè)在提供或者使用 Knative。目前已統(tǒng)計如下(并且這項列表還在持續(xù)更新中):
圖片 2?(圖片來源詳見文末相關(guān)鏈接)
我們可以看到,幾乎所有的大廠都支持或者集成 Knative, 如阿里云、谷歌云、IBM、Red Hat等,并且大部分都提供了生產(chǎn)級別能力(Production),而隨著 Knative 1.0 的發(fā)布,相信有更多的用戶去擁抱 Knative。
阿里云 Knative
阿里云容器服務(wù)從 Knative 0.6.0 版本開始產(chǎn)品化集成,持續(xù)跟進 Knative 社區(qū)功能迭代,當前已全面支持 Knative 1.0 版本。在此期間,阿里云 Knative 與容器服務(wù)Kubernetes生態(tài)、消息、存儲等云產(chǎn)品進行了全方位的融合。包括:
- 豐富的消息云產(chǎn)品事件源:Kafka 、MNS 、RocketMQ
- 服務(wù)訪問:SLB
- 存儲:NAS 、云盤等
- 可觀測性:日志服務(wù)、ARMS
- IaaS 資源:ECS 、ECI
此外為了降低用戶使用 Knative 門檻,通過容器服務(wù) UI 控制臺提供一鍵部署能力,在 Serverless Kubernetes(ASK) 中將 Knative 管控組件全托管,極大的節(jié)省了用戶的資源以及運維成本。
在產(chǎn)品化持續(xù)迭代中,也帶來了更豐富的客戶應(yīng)用場景,當前在阿里云 Knative 典型的應(yīng)用場景(包括但不限):
- AI 音視頻編/解碼場景
- GPU 等異構(gòu)計算場景
- 大數(shù)據(jù)及 AI 深度學習、機器視覺
- 傳統(tǒng)管理軟件
- …
行業(yè)涵蓋智慧醫(yī)療、在線教育、數(shù)字空間建模等領(lǐng)域。阿里云容器服務(wù) Knative 正在為用戶持續(xù)不斷的提供企業(yè)級 Serverless 平臺能力。
小結(jié)
如果你正面對復(fù)雜、多樣的 Kubernetes 資源(Deploymemt、Service、Ingress 等)無從下手的難題,Knative 或許可以幫你輕松應(yīng)對;如果你正面對成本壓力、運維負擔,Knative 可以為你減負。歡迎有興趣的同學一起交流。
阿里云 Knative 釘釘交流群:
相關(guān)鏈接
1)圖片 1:
??https://www.cncf.io/blog/2021/04/28/cncf-cloud-native-survey-china-2020/?spm=a2c6h.12873639.0.0.50825d98LheP6P??
2)圖片 2:
??https://github.com/knative/community/blob/main/ADOPTERS.MD?spm=a2c6h.12873639.0.0.50825d98LheP6P&file=ADOPTERS.MD??
3)參考
- ??https://knative.dev/blog/articles/knative-1.0/ ??
- ??https://cloudnative.to/blog/knative-1-0-ga/ ??
- ??https://github.com/knative/community/blob/main/ADOPTERS.MD??
點擊??此處??了解更多阿里云 Knative 產(chǎn)品相關(guān)信息!
總結(jié)
以上是生活随笔為你收集整理的开源 Serverless 里程碑:Knative 1.0 来了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云原生时代,CNStack 如何解决企业
- 下一篇: 如何强化应用安全能力,全面拦截 Log4