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