重磅!阿里巴巴开源首个边缘计算云原生项目 OpenYurt
作者 | 郭飛(阿里云資深技術專家)、徙遠(阿里云高級技術專家)、新勝(阿里云技術專家)
導讀:北京時間 5 月 29 日,在阿里云容器服務 ACK@Edge(邊緣集群托管服務) 上線一周年之際,阿里巴巴正式宣布將其核心能力開源,并向社區貢獻完整的邊緣計算云原生項目 – OpenYurt。
邊緣云計算是基于云計算技術的核心和邊緣計算的能力,構筑在邊緣基礎設施之上的新型計算平臺,并正在成為行業的新焦點。OpenYurt 作為阿里巴巴首個邊緣計算云原生開源項目,匯聚了阿里巴巴眾多邊緣計算業務團隊的深厚技術積累,深度挖掘了邊緣計算 + 云原生落地實施訴求。
兩年前,OpenYurt 作為公共云服務 ACK@Edge 的核心框架,就已經應用于 CDN、音視頻直播、物聯網、物流、工業大腦、城市大腦等實際應用場景中,并服務于阿里云 LinkEdge、盒馬、優酷、視頻云(視頻點播、視頻直播、實時通信、視頻監控、智能視覺)等多個業務或項目中。
阿里巴巴云原生開源負責人、云原生應用平臺資深技術專家李響表示:“隨著邊緣計算的場景和需求不斷增加,‘云邊協同’、‘邊緣云原生’正在逐漸成為新的技術焦點。OpenYurt 開源項目實踐‘云邊一體化’概念,依托原生 Kubernetes 強大的容器編排、調度能力,實現完全邊緣計算云原生基礎設施架構,幫助開發者輕松完成在海量邊、端資源上的大規模應用的交付、運維、管控。我們希望 OpenYurt 開源能推動社區在云原生和邊緣計算交叉領域的協同發展。”
什么是 OpenYurt
使用 OpenYurt(Yurt,/j??rt/,蒙古包)作為本次開源項目名稱,期望以其“形”來表示邊緣計算側重于創建一個集中管理但物理分布的基礎設施,并支持自動/自治運行操作的含義。
**OpenYurt 主打“云邊一體化”概念,**依托原生 Kubernetes 強大的容器編排、調度能力,通過眾多邊緣計算應用場景錘煉,實現了一整套對原生 Kubernetes“零”侵入的邊緣云原生方案,提供諸如邊緣自治、高效運維通道、邊緣單元化管理、邊緣流量拓撲管理,安全容器、邊緣 Serverless/FaaS、異構資源支持等能力。OpenYurt 能幫用戶解決在海量邊、端資源上完成大規模應用交付、運維、管控的問題,并提供中心服務下沉通道,實現和邊緣計算應用的無縫對接。
1. OpenYurt 誕生背景
時間倒回兩年前,伴隨當時的行業發展,邊緣計算正在成為云計算的新焦點,而規模和復雜度的日益提升對邊緣計算的效率、可靠性及資源利用率等一系列能力提出了更高的要求。從 2017 年底開始,阿里云物聯網(IoT)和 CDN 服務作為典型的邊緣計算業務正面臨著產品規模的爆發式增長、運維復雜度急劇攀升、運維效率不高的“三難”境地,因此引入云原生理念、全面轉型邊緣應用的運維管理模式成為亟需解決的問題。
正是在這樣的背景下,OpenYurt 誕生于阿里云容器服務團隊,并在接下來的兩年多時間內,作為公共云服務 ACK@Edge 的核心框架被廣泛應用于 CDN、音視頻直播、物聯網、物流、工業大腦、城市大腦等實際應用場景中,并正在服務于阿里云 LinkEdge、盒馬、優酷、視頻云(視頻點播,視頻直播,實時通信,視頻監控,智能視覺)等多個業務或項目中。
2. OpenYurt 技術特點
OpenYurt 沿用了目前業界流行的“中心管控、邊緣自治”的邊緣應用管理架構,將“云邊端一體化協同”作為目標,賦能云原生能力向邊緣端拓展。在技術實現上,OpenYurt 貫徹了“Extending your native Kubernetes to Edge”的核心設計理念,其技術方案有如下特點:
-
對原生 Kubernetes“零”侵入,保證對原生 K8s API 的完全兼容。不改動 Kubernetes 核心組件,并不意味著 OpenYurt 是一個簡單的 Kubernetes Addon。OpenYurt 通過 proxy node network traffic,對 Kubernetes 節點應用生命周期管理加了一層新的封裝,提供邊緣計算所需要的核心管控能力;
-
無縫轉換,OpenYurt 提供了工具將原生 Kubernetes“一鍵式”轉換成支持邊緣計算能力的 Kubernetes 集群;
-
低 Overhead,OpenYurt 參考了大量邊緣計算場景的實際需求,在保證功能和可靠性的基礎上,本著最小化,最簡化的設計理念,嚴格限制新增組件的資源訴求。
以上技術特點使得 OpenYurt 能夠:
- 最大程度保證用戶在管理邊緣應用時獲得和管理云端應用一致的體驗;
- 兼容所有云廠商的 Kubernetes 服務,易于集成;
- 保持極低的運維成本。
3. OpenYurt 核心能力
OpenYurt 開源的核心能力包括:
-
邊緣自治能力:YurtHub 作為節點上的臨時配置中心,在網絡連接中斷的情況下,持續為節點上所有設備和客戶業務提供數據配置服務。YurtHub 提供了對大量原生 Kubernetes API 的支持,可以在節點和邊緣單元維度提供“Shadow Apiserver”的能力,在邊緣計算弱網絡鏈接場景的價值尤為突出;
-
邊緣運維通道:在邊緣場景,由于大多數邊緣節點沒有暴露在公網之上,中心管控無縫和邊緣節點主動建立網絡鏈接,所有的 Kubernetes 原生應用運維 APIs(logs/exec/metrics)會失去效力;YurtTunnel 通過在管控與邊緣節點之間建立反向通道,并和節點的生命周期完整聯動,承載原生運維 APIs 的流量;
-
集群轉換能力:Yurtctl 作為 OpenYurt 官方命令行工具,提供原生 Kubernetes 集群支持邊緣計算 infrastructure 的一鍵式切換。
其它更高級的功能比如邊緣流量管理、單元化管理,部署、區域自治等將會逐步開源。
4. OpenYurt Roadmap
作為阿里云容器服務 ACK@Edge 的開源版本,OpenYurt 將采用全開源社區開發模式,每季度發布新版本更新,包含社區上游安全/關鍵 bug 修復和新特性、新能力,并逐步將產品完整能力開源,預計到 2021 年一季度正式發布 OpenYurt 1.0 版本。大致的 RoadMap 如下:
主導這次開源的阿里巴巴云原生應用平臺團隊,目前已經開源 OAM、OpenKruise、Dragonfly、Apache RocketMQ、Apache Dubbo 等眾多明星項目,是國內最資深的云原生開源貢獻團隊。OpenYurt 項目的開源,本著“Extending your native Kubernetes to Edge”的設計理念,讓云原生技術在邊緣計算領域的生態建設與普及前進了一大步,也為全球開發者拓展云原生邊界貢獻了一份力量。
OpenYurt 項目地址:https://github.com/alibaba/openyurt
“[阿里巴巴云原生]關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術圈。”
總結
以上是生活随笔為你收集整理的重磅!阿里巴巴开源首个边缘计算云原生项目 OpenYurt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何为云原生应用带来稳定高效的部署能力?
- 下一篇: OpenYurt 开源 | 云原生生态周