天天看點

阿裡巴巴開源首個邊緣計算雲原生項目 OpenYurt

導讀:中原標準時間 5 月 29 日,在阿裡雲容器服務 [email protected](邊緣叢集托管服務) 上線一周年之際,阿裡巴巴正式宣布将其核心能力開源,并向社群貢獻完整的邊緣計算雲原生項目 -- OpenYurt。

邊緣雲計算是基于雲計算技術的核心和邊緣計算的能力,構築在邊緣基礎設施之上的新型計算平台,并正在成為行業的新焦點。OpenYurt 作為阿裡巴巴首個邊緣計算雲原生開源項目,彙聚了阿裡巴巴衆多邊緣計算業務團隊的深厚技術積累,深度挖掘了邊緣計算 + 雲原生落地實施訴求。

兩年前,OpenYurt 作為公共雲服務 [email protected] 的核心架構,就已經應用于 CDN、音視訊直播、物聯網、物流、工業大腦、城市大腦等實際應用場景中,并服務于阿裡雲 LinkEdge、盒馬、優酷、視訊雲(視訊點播、視訊直播、實時通信、視訊監控、智能視覺)等多個業務或項目中。

阿裡巴巴雲原生開源負責人、雲原生應用平台資深技術專家李響表示:“随着邊緣計算的場景和需求不斷增加,‘雲邊協同’、‘邊緣雲原生’正在逐漸成為新的技術焦點。OpenYurt 開源項目實踐‘雲邊一體化’概念,依托原生 Kubernetes 強大的容器編排、排程能力,實作完全邊緣計算雲原生基礎設施架構,幫助開發者輕松完成在海量邊、端資源上的大規模應用的傳遞、運維、管控。我們希望 OpenYurt 開源能推動社群在雲原生和邊緣計算交叉領域的協同發展。”

阿裡巴巴開源首個邊緣計算雲原生項目 OpenYurt

什麼是 OpenYurt

阿裡巴巴開源首個邊緣計算雲原生項目 OpenYurt

使用 OpenYurt(Yurt,/jɜːrt/,蒙古包)作為本次開源項目名稱,期望以其“形”來表示邊緣計算側重于建立一個集中管理但實體分布的基礎設施,并支援自動/自治運作操作的含義。

OpenYurt 主打“雲邊一體化”概念,依托原生 Kubernetes 強大的容器編排、排程能力,通過衆多邊緣計算應用場景錘煉,實作了一整套對原生 Kubernetes“零”侵入的邊緣雲原生方案,提供諸如邊緣自治、高效運維通道、邊緣單元化管理、邊緣流量拓撲管理,安全容器、邊緣 Serverless/FaaS、異構資源支援等能力。OpenYurt 能幫使用者解決在海量邊、端資源上完成大規模應用傳遞、運維、管控的問題,并提供中心服務下沉通道,實作和邊緣計算應用的無縫對接。

1. OpenYurt 誕生背景

阿裡巴巴開源首個邊緣計算雲原生項目 OpenYurt

時間倒回兩年前,伴随當時的行業發展,邊緣計算正在成為雲計算的新焦點,而規模和複雜度的日益提升對邊緣計算的效率、可靠性及資源使用率等一系列能力提出了更高的要求。從 2017 年底開始,阿裡雲物聯網(IoT)和 CDN 服務作為典型的邊緣計算業務正面臨着産品規模的爆發式增長、運維複雜度急劇攀升、運維效率不高的“三難”境地,是以引入雲原生理念、全面轉型邊緣應用的運維管理模式成為亟需解決的問題。

正是在這樣的背景下,OpenYurt 誕生于阿裡雲容器服務團隊,并在接下來的兩年多時間内,作為公共雲服務 [email protected] 的核心架構被廣泛應用于 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

OpenYurt 開源的核心能力包括:

  • 邊緣自治能力:YurtHub 作為節點上的臨時配置中心,在網絡連接配接中斷的情況下,持續為節點上所有裝置和客戶業務提供資料配置服務。YurtHub 提供了對大量原生 Kubernetes API 的支援,可以在節點和邊緣單元次元提供“Shadow Apiserver”的能力,在邊緣計算弱網絡連結場景的價值尤為突出;
  • 邊緣運維通道:在邊緣場景,由于大多數邊緣節點沒有暴露在公網之上,中心管控無縫和邊緣節點主動建立網絡連結,所有的 Kubernetes 原生應用運維 APIs(logs/exec/metrics)會失去效力;YurtTunnel 通過在管控與邊緣節點之間建立反向通道,并和節點的生命周期完整關聯,承載原生運維 APIs 的流量;
  • 叢集轉換能力:Yurtctl 作為 OpenYurt 官方指令行工具,提供原生 Kubernetes 叢集支援邊緣計算 infrastructure 的一鍵式切換。

其它更進階的功能比如邊緣流量管理、單元化管理,部署、區域自治等将會逐漸開源。

4. OpenYurt Roadmap

作為阿裡雲容器服務 [email protected] 的開源版本,OpenYurt 将采用全開源社群開發模式,每季度釋出新版本更新,包含社群上遊安全/關鍵 bug 修複和新特性、新能力,并逐漸将産品完整能力開源,預計到 2021 年一季度正式釋出 OpenYurt 1.0 版本。大緻的 RoadMap 如下:

阿裡巴巴開源首個邊緣計算雲原生項目 OpenYurt

主導這次開源的阿裡巴巴雲原生應用平台團隊,目前已經開源 OAM、OpenKruise、Dragonfly、Apache RocketMQ、Apache Dubbo 等衆多明星項目,是國内最資深的雲原生開源貢獻團隊。OpenYurt 項目的開源,本着“Extending your native Kubernetes to Edge”的設計理念,讓雲原生技術在邊緣計算領域的生态建設與普及前進了一大步,也為全球開發者拓展雲原生邊界貢獻了一份力量。

OpenYurt 項目位址:https://github.com/alibaba/openyurt

繼續閱讀