
作者 | 何淋波
來源|
阿裡巴巴雲原生公衆号随着 5G、IoT、直播、CDN 等行業和業務的發展,越來越多的算力和業務開始下沉到距離資料源或者終端使用者更近的位置,以期獲得很好的響應時間和成本,這是一種明顯差別于傳統中心模式的計算方式——邊緣計算。
然而,在邊緣計算的規模、複雜度正逐日攀升的同時,短缺的運維手段和運維能力也終于開始不堪重負。在這個背景下,“雲、邊、端一體化運維協同”已經開始成為一種架構共識。通過雲原生加持,雲邊融合的程序也正在被急劇加速。在這樣的趨勢下,引入雲原生理念、全面轉型邊緣應用的運維管理模式成為亟需解決的問題。
本文整理自作者阿裡雲容器服務技術專家,OpenYurt 作者 & 初創人員之一何淋波(新勝)于 1 月 26 日在阿裡雲開發者社群“周二開源日”的直播分享,将站在實際落地場景的角度,探索雲原生技術和邊緣計算的融合挑戰,詳細介紹基于 OpenYurt 的雲原生邊緣計算平台架構和行業實踐。
點選回看完整視訊:
https://developer.aliyun.com/live/246066什麼是邊緣計算(Edge Computing)
邊緣計算是相對傳統集中通用計算而言,指将工作負載部署在邊緣的一種計算方式。最近幾年,邊緣計算非常火熱,主要是因為 5G、IoT 等業務和場景發展越來越快,包括智能終端裝置越來越多,造成對邊緣計算業務的下沉訴求越來越多。如果所有的處理全部放在中心,很難滿足大規模邊緣智能裝置的增長。邊緣計算目前在各行各業都開始大規模使用,例如汽車、運輸、能源等。總結來說,邊緣計算就是讓計算離使用者或者離資料源更近。
1. 邊緣計算頂層架構
業界定義的邊緣計算的分層結構,主要引用 Gartner、IDC。
Gartner 定義的分層結構如下圖所示:Endpoint > Near edge > Far edge > Cloud > Enterprise。
- Near Edge :非标準伺服器或裝置,在距離端側最近的地方。
- Far Edge :标準的 IDC,可以分三種類型:IDC(為主)、MEC、CDN 等;相對來說,計算能力比較強,比如營運商的機房、雲服務提供商的級聯機房等等。
- Cloud :公共雲或專有元服務,特征為資源集中、中心化管理。
IDC 定義的分層結構如下圖所示:
- Heavy Edge:資料中心次元;集中式計算平台;CDN,自建 IDC。
-
Light Edge:低功耗計算平台,适用于工業控制,資料處理、傳輸等物聯網場景。
由上圖可以看出,Gartner 定義與 IDC 定義其實是互相依存,互相關聯的。另外,邊緣計算與雲計算不是替代關系,而是互相補充、互相關聯的關系。
2. 邊緣計算行業趨勢
邊緣計算行業趨勢可以從以下三個方面(次元)來講:第一是行業的業務,第二是行業的架構,第三是行業的規模與變化。
趨勢一:AI 、IoT 與邊緣計算的融合
近幾年來,邊緣計算和 AI、IoT 的結合非常多,邊緣智能裝置的數量增加之後,包括所有的資料或視訊全部回傳到雲端去處理,整個成本與效率都非常不合适,是以直接靠近裝置這一側進行 AI 處理或 IoT 處理的需求越來越多。比如 AI,會在雲上或在中心雲做訓練,然後在邊緣做推理,有非常多這種形式。調查顯示:
- 到 2024 年,有 50% 的計算機視覺和語音識别模型将在邊緣運作。
- 到 2023 年,近 20% 用于處理 AI 工作負載的伺服器部署在邊緣側。
- 到 2023 年,中國 70 % 的物聯網項目将包含 AI 功能,追求實時性、降低帶寬、資料合規。
- 到 2023 年,中國 75 % 的企業将在網絡邊緣對物聯網資料進行處理。
趨勢二:雲延伸,IT 去中心化,設施自治,邊緣托管
邊緣計算跟雲計算是互相補充、互相依賴的關系。再延伸一步說,邊緣計算其實是雲計算往邊緣的一個延伸,把雲上的一些能力往邊緣上延伸。一是要求 IT業務在邊緣這一側去中心化,另外因為邊緣業務或設施是自治的,雲和邊之間網絡斷開的情況下,有一定控制能力,再有邊緣托管能力。未來架構趨勢将向雲延伸、IT 中心化、設施自治、邊緣托管的發展路線演進:
- 混合雲 - 到 2023 年, 10% 的企業負載将運作位于本地資料中心和邊緣資源上。
- 去中心化 - 到 2023 年,超過 30% 新基礎架構将部署在邊緣位置。
- 設施自治 - 到 2024 年,50% 核心企業資料中心和 75% 主要邊緣 IT 站點将改變運維方式。
- 邊緣托管 - 到 2022 年,50% 的公司将依靠托管服務來提高基于邊緣人工智能的性能和投資回報率。
趨勢三:5G 與邊緣計算引爆新增長
最近幾年,5G 的快速發展,對邊緣計算是一個新的增長引爆點。預計到 2024 年,邊緣應用程式的數量将增長 800% ,可以想象這個行業後面會是什麼樣的增長情況。典型應用場景将包括車聯網(自動駕駛/車路協同)、智能電網(裝置巡檢/精準負荷控制)、工業生産控制、智慧醫療(遠端B超/遠端會診)等。
3. 邊緣計算現狀
邊緣雲促使管理的複雜性迅速上升
随着邊緣計算的形态、規模、複雜度的日益增長,邊緣計算領域的運維手段、運維能力越來越難以滿足邊緣業務的創新速度;而“未來企業都在全力追求超規模、超高速、超連接配接”,又進一步加劇運維管理的複雜度。邊緣雲促使管理的複雜性迅速上升,主要來自以下四個方面:
- 第一,網際網路智能終端裝置數量的急劇增加;資料、業務下沉的訴求增多。
- 第二,邊緣計算規模和業務複雜度提升,邊緣智能、邊緣實時計算、邊緣分析等新型業務不斷湧現。傳統雲計算中心集中存儲、計算的模式已經無法滿足邊緣裝置對于時效、容量、算力的需求。
- 第三,雲邊端協同難度大,缺少統一的傳遞、運維、管控标準,且邊緣服務和邊緣資料的安全風險控制難度較高。
- 第四,異構資源支援困難,對不同硬體架構、硬體規格、通信協定的支援,以及基于異構資源、網絡、規模等差異化提供标準統一的服務能力的挑戰。
雲邊一體的邊緣雲原生
1. 什麼是雲原生?
雲原生的定義:雲原⽣是一套開放、标準的技術體系。基于雲原生技術體系,可以為使用者靈活的建構和運作高彈性、容錯性好、易于管理的一套業務系統。整個技術體系有很多熱門技術,如 Cloud Native、Serverless、Kubernetes、Container、Docker 等等,業界廣泛使用的這些技術。
現在各大雲廠商、雲服務提供商都在大力投入雲原生,雲原生也越來越成為廣大使用者使用雲計算能力的入口。雲原生技術體系能夠幫助企業最大化利⽤雲的能⼒,最大化發揮雲的價值。
2. 豐富的雲原生産品家族
以阿裡雲為例,雲原生産品家族主要分三塊,如下圖所示:
- 第一塊是新的應用負載,包括:資料&智能、分布式應用、DevOps,現在都是通過雲原生承載業務。
- 第二塊包括:Serverless、容器編排,是一個新的業務系統。
- 第三塊包括:公共雲、專有雲、邊緣雲是一個新的資源承載系統。
3. 雲邊一體雲原生基礎設施
雲邊一體雲原生基礎設施,是在雲端做管控、邊緣自治的雲原生系統。如下圖所示:
在中心這一側,可以提供原生的雲中心的管控能力和産品化能力,例如利用 Kubernetes+存儲/+AI/+大資料等能力可以在中心提供出來;中心的這些能力通過管控通道,下沉到邊緣計算,比如标準化的 CDN、 Infrastructure 、Edge、ENS,或者是上圖右邊的智慧工廠、智慧園區、樓宇、機場等等的裝置網關;在邊緣,可以就近接入各種裝置,比如傳感器、視訊、控制器等等,可以支援各種通訊裝置接入。這樣便形成了雲邊端一體化的雲原生基礎設施。
雲計算擅長需要海量可擴充存儲能力,非實時且周期相對較長的資料處理和分析,而邊緣計算脫胎于雲計算,它擅長的是局部短周期資料的實時處理和分析,雲計算與邊緣計算之間不是替代關系,而是互相協同的關系,二者之間緊密結合才能更好地滿足各種需求場景的比對。
4. 雲邊一體價值
雲原生的概念最早是在 2013 年被提出,經過這幾年的發展,尤其是從 2015 年 Google 牽頭成立 CNCF 以來,雲原生技術開始進入公衆的視線并逐漸演變成包括 DevOps、持續傳遞、微服務、容器、基礎設施,Serverless,FaaS 等一系列的技術,實踐和方法論集合。雲原生加速了多雲、雲邊融合,雲邊一體的價值是:
- 一是可以為使用者在任何基礎設施上提供和雲上一緻的功能和體驗,實作雲邊端一體化的應用。
- 二是可以利用容器的隔離性,利用系統的流量控制、網絡政策等能力,保證運作在邊緣上業務的安全性。
- 三是通過容器化,通過容器和資源之間的解耦,對異構資源的支援上能夠有很好的适配。
5. 雲原生與邊緣計算融合難點
随着邊緣計算的形态、規模、複雜度的日益增長,邊緣計算領域的運維手段、運維能力越來越難以滿足邊緣業務的創新速度;而未來企業都在全力追求“超規模、超高速、超連接配接”,又進一步加劇運維管理的複雜度。
雲原生與邊緣計算融合要解決什麼問題?在實際的解決問題的過程中,總結出以下 4 個關鍵點:
第一點:邊緣計算規模和業務複雜,邊緣資源的分散在不同地域,各個區域内部的邊緣應用的生命周期管理,更新,擴縮容,區域内部流量閉環都面臨挑戰。
舉個例子,比如 CDN 場景,全國各地可能有成百上千個機房,每個機房的資源或者機器可能都不一樣,機器上面運作的業務承載的流量可能也不太一樣。這時如果是用原生 Kubernetes 的 workload 來管理是非常不足的,會形成非常大的挑戰,容易出錯,整個運維效率非常低。
第二點:雲邊網絡連接配接不可靠。通常情況下,雲和邊之間會通過公網連接配接,在一些客觀因素的影響下,雲邊之間的網絡可能出現斷聯,對邊緣業務的持續運作形成很大挑戰。因為網絡斷開的情況下,節點會脫離雲端管控,在原生K8s下會對該Pod進行驅逐。但實際情況下無論是業務重新開機還是機器重新開機,都需要保證邊緣業務可以持續運作。是以邊緣需要一定的自治能力。
第三點:雲邊端運維協同難度大,由于邊緣的機器是部署使用者防火牆内部的,公網無法主動連接配接。是以,一些需要從中心拉取資料的K8s原生運維能力就無法使用,造少缺少統一的傳遞、運維、管控标準,且邊緣服務和邊緣資料的安全風險控制難度較高。
第四點:異構資源支援困難,對不同硬體架構、硬體規格、通信協定的支援,以及基于異構資源、網絡、規模等差異化提供标準統一力的挑戰。
OpenYurt 邊緣計算雲原生平台
CNCF 邊緣雲項目 OpenYurt:延伸原生 Kubernetes 到邊緣計算的智能開放平台。
1. 邊緣自治、中心(雲)管控
OpenYurt 架構是非常簡潔的雲邊的一體化的架構,如上圖所示,雲上有藍色和橙色兩部分,藍色部分是原生 K8s 的一些元件,然後橙色部分是 OpenYurt 的元件;邊緣的每個節點上,Edge Note 上每個節點上也有藍色的部分和橙色的部分,藍色部分也是原生的 K8s 的元件,或者設定的一些雲原生的一些元件,橙色部分是 OpenYurt 的元件。
大家能看到 OpenYurt 對 K8s 或者對雲原生的這種原生的架構是 0 修改、非侵入式的,OpenYurt 項目是業界首個非侵入式增強 K8s 的一個邊緣計算雲原生平台。其他的邊緣計算雲原生項目,或多或少可能都對 K8s 做了一定的修改或者裁剪,這也是 OpenYurt 最大的差別,是以也就保證了 OpenYurt 的标準化。
- OpenYurt 可以緊跟 Kubernetes 版本更新節奏。
- 非侵入式的理念,OpenYurt 與雲原生主流技術,如 ServeiceMesh、Serverless 等,可以同步衍進。
OpenYurt 在 2020 年 9 月份進入 CNCF sandbox,是一個非常中立的項目,一是技術、架構上的中立,二是這個項目營運上的中立。
OpenYurt 的品質和穩定性也是有保障的,在阿裡集團内部,使用非常廣泛,已經管理數百萬核的規模。
2. OpenYurt 如何解決原生與邊緣計算融合難點
- 第一,邊緣單元化。大規模業務下,因為邊緣單元分比較分散,是以通過邊緣單元化,對單元内業務進行一個單元化的管理以及流量閉環的管理。
- 第二,邊緣自治能力。為了應對雲邊網絡不可靠,通過給邊緣增加一個自治的能力,雲邊網絡斷開的情況下,也可以保證的業務可以持續運作。
- 第三,無縫轉換。主要是為了降低 OpenYurt 的使用門檻,通過提供一個無縫轉換的能力,使 K8s 與 OpenYurt 叢集之間可以一鍵式切換,一條指令可以把一個标準的 K8s 叢集轉換成 OpenYurt 叢集,反向切換也可以,這也是業界首創的能力。
- 第四:是解決雲端通路主動通路邊緣的問題,提供了雲邊協同的能力來解決運維的難題。
下面,針對每一個能力具體介紹。
1)單元化能力
提供邊緣場景下應用模型能力,主要包括以下三點:
- NodePool 可以對節點做單元化批量管理。
- 流量管理支援原生 service 的流量拓撲管理。
- UnitedDeployment 提供原生 APPs 模型單元化部署。
單元化主要是提供邊緣場景下應用模型的能力,在資源這塊提節點池,可以對每一個地域的一個節點,進行一個池化的管理,如上圖邊緣單元一,假如是北京的一個機房,這些節點都可以放到北京池裡面,可以對這些節點進行一個批量化的标簽等功能統一的管理,這樣就相同的一批機器整體特性管理操作起來就非常友善。UnitedDeployment 這個資源是基于節點池,以節點池為單元,對節點池的業務進行部署管理。
根據上圖舉例,單元一部署兩個執行個體,單元二部署三個執行個體,把配置送出給 OpenYurt 叢集之後,就可以自動把部署資訊下發到邊緣,然後可以啟動相對應的執行個體數,這就解決了單元管理的時每個單元獨立去操作的問題,通過一個統一的視角,UnitedDeployment 可以管理各個單元。
2)邊緣自治能力
為邊緣業務持續運作護航,具體包括以下兩點:
- YurtHub 緩存雲端的資料,雲邊斷網時,所有系統元件均從 YurtHub 擷取資料。
- Yurt-Controller-Manager 解決雲邊網絡連接配接不穩定時造成的邊緣業務驅逐問題。
邊緣自治能力為邊緣業務持續運作護航,在雲邊網絡斷聯的情況下,也可以保證邊緣業務持續運作。主要涉及到兩個元件,一個是 YurtHub,一個是 Yurt-Controller-Manager。
YurtHub 是部署在邊緣節點上,每個節點上以容器化的形式部署的一個元件, 通過上圖,了解處理流程,從請求 Kubelet、KubeProxy、Flannel 這種原生元件,之前都是直接連的雲端 APIServer,現在調整為先連 YurtHub 再把請求轉發給 APIServer。
這樣的優點就是當請求過來之後,雲邊網絡沒有斷開的情況下,有一個 health check 子產品,會檢測雲邊網絡的連通性,如果雲邊網絡正常,請求就直接到負載均衡子產品,然後選擇一個雲端伺服器轉發過去,結果傳回,一個是可以傳回一個請求端,另外一個結果資料緩存在本地磁盤,持續化在本地磁盤。
如果雲邊網絡斷開了,節點要重新開機,網絡斷開的情況下,它可以通過 local proxy 把本地緩實際化的資料提取出來,傳回一個請求方,進而恢複邊緣的業務,保證邊緣業務的一個持續運作。
3)無縫轉換能力
無縫轉換能力是用 yurtctlconvert 元件完成。主要用于标準 K8s 和 OpenYurt 叢集之間的一鍵式轉換;目前支援 minikube,kubeadm,ack 等工具部署的叢集。
當轉換的情況下,因為叢集裡面有很多節點,每個節點要轉成邊緣節點,就往邊緣上部一些 yurthub static pod 元件,kubelet 參數修改等。如下圖所示:
通過阿裡另外一個雲原生開源項目 OpenKruise 的 broadcastJob,可以保證在每個節點上運作 pod 這樣一個 job,來完成每個節點到節點的轉換。目前我們 Yurtctl 工具,在 minikube,kubeadm,ACK 等工具部署的叢集上,進行了比較完整的驗證,後續會支援更多類型的叢集,也歡迎更多感興趣的同學在社群做貢獻。
4)雲邊協同能力
如下圖所示:
在雲端部署 YurttunnelServer 元件,邊緣每個節點會部署一個 Yurttunnel Agent,Yurttunnel Agent 啟動時由裡面的 ANP Proxy Agent 子產品,通過公網雲端與 ANP Proxy server 子產品建立雙向認證的加密通道。這個通道是 gRPC 協定來做的。
通道建立之後,雲端通路節點的時候,Yurttunnel Server 裡面的 iptable manager 會把節點通路的請求流量導入到 Yurttunnel Server 上,request Interceptor 攔截器子產品會把請求攔截過來,要轉化成 gRPC 通信協定格式,然後把這個請求轉發給邊緣端的 TunnelAgent,TunnelAgent 再把請求轉發給 Kubelet 或者 pod。這樣的話,就打通了雲邊運維協同能力。使原生的 Kubernetes 運維操作能力,都可以無感覺地運作在 OpenYurt 叢集或雲邊場景上。另外雲邊運維通道基于 gRPC 種協定,通過壓縮 Tunnel 帶寬可以大大降低成本,相比原生 TCP 通信最大減少 40% 流量。
OpenYurt 案例介紹
案例一:邊緣 AI
第一個案例是邊緣 AI 場景,這個是盒馬鮮生的新零售線下業務。
盒馬鮮生基于阿裡雲容器服務 ACK@Edge 産品為底座,進行了雲原生的轉型更新,建構了一個“人貨場”數字化全鍊路的雲、邊、端一體化協同的天眼 AI 系統。首先在雲上有一個雲端的控制面,然後在邊緣離門店比較近的區域,購買了 ENS 節點服務,這樣就不用自己為門店建構機房,然後通過雲邊一體系統把門禁控制系統或者模組化系統,部署到邊緣的 ENS 服務上,之後跟門店裡面的監控視訊流推送,然後業務承載之後進行分析,得到結果,在控制業務系統這邊,把計算的結果傳回到雲端做分析。
基公雲于雲+邊緣的形式,低成本的實作了雲端天眼系統、阿裡雲邊緣彙聚節點 ENS、盒馬門店實體場的業務架構,具備強大的彈性能力、混合資源管理能力、以及雲原生的運維能力。實作新門店開服效率提升 70%,和 50% 以上的資源成本節省;共享算力。如下圖所示:
案例二:視訊上雲
視訊上雲案例,現在全國各地用的特别多,如圖所示:
從下往上看,比如在高速上,輕量型網關或标準型網關,會有一些視訊拍攝流,把這些視訊拍好之後,傳到離邊緣比較近的 ENS 或 CDN 伺服器上,做視訊監控,比如一些省級、市縣級的機房裡面處理,做視訊管理、彙聚轉發等處理之後,把最後結果再上傳到中心雲上的雲控平台。然後在雲控平台可以做很多處理,比如可以跟高德地圖來做一些事件的釋出,或資訊通知等等,形成雲邊端一體化的服務管理平台。
通過雲邊端一體化的服務管理平台包括:應用部署/配置、裝置/應用狀态、結構化資料上雲的實作,使整個運維效率、管控效率都大大提升。
以上就是本次關于 OpenYurt 的分享,如果大家對 OpenYurt 感興趣,歡迎掃碼加入我們的社群交流群,以及通路 OpenYurt 官網和 GitHub 項目位址:
- OpenYurt 官網:
- GitHub 項目位址:
- 釘釘掃碼加入社群交流群:
“Kubernetes 與雲原生應用開源實踐大講堂”
4 場雲原生與 Kubernetes 技術前沿話題直播、70 節經典課程、3 本雲原生電子書,來“Kubernetes 與雲原生應用開源實踐大講堂”,和阿裡雲容器技術專家一起,将熱門的容器開源項目和前沿的雲原生應用落地實踐一網打盡!
點選直達“Kubernetes 與雲原生應用開源實踐大講堂”!