邊緣計算,如何啃下叢集管理這塊硬骨頭?
導讀
邊緣計算平臺,旨在將邊緣端靠近資料來源的計算單元納入到中心雲,實現集中管理,將雲服務部署其上,及時響應終端請求。
然而,成千上萬的邊緣節點散佈於各地,例如銀行網點、車載節點等,節點數量甚至可能是幾萬到十幾萬,這就會對節點的承載能力造成巨大沖擊。Kubernetes 官方資料是可以支援納管 5000 節點,如果想要納管更多的邊緣節點,該如何設計邊緣計算平臺架構呢?
本文針對以上問題,提供一些博雲的解決思路。
多叢集管理
多叢集可以有效地擴充套件納管節點的規模,而對 kubernetes 多叢集的管理,各廠商的實現方式各有不同,不同的 API,不同的特性,因此市場上很難形成標準的解決方案。
現有的官方 kubernetes 多叢集管理解決方案是 kubefed(Federation V2),即 kubernetes 聯邦 。Federation V1早在 kubernetes 1.6 版本就開始提供服務,但由於V1架構的限制,無法靈活支援更新的 k8s API 介面,加上其他很多問題影響叢集管理的效率,因此 Federation V1 在 kubernetes 1.11 版本正式被棄用,現在提供服務的是 Federation V2。
由架構圖實現可以看出,Federation V2 在 k8s 之上定義了一些資源,用 cluster configuration 記錄叢集的 endpoint,secret 等認證資訊,type configuration 來定義需要用 Federation 託管的資源型別,提供了排程器來平衡各個叢集的負載,以及多叢集的 DNS 功能。
這種 controller 級別的叢集管理,提供了豐富的叢集間互動功能,更適用於 異地多中心 的叢集災備 等場景。在邊緣場景,一個邊緣端可能就是一個小叢集(存在多個計算單元可以組成叢集),這樣會使得叢集數量不斷增多,進而對 Federation 的執行效率、API 的響應時間都會有較為明顯的影響。那麼,該如何削弱叢集數量的不確定性所帶來的影響呢?
下面為大家展示,我們在 KubeEdge 架構下如何解決多節點的問題。
Cloudcore 橫向擴充套件
KubeEdge 架構下的雲邊協同通訊採用 websocket 方式,quic 作為備選。其中 websocket 效能最好,quic 在弱網路(頻繁斷開)情況下優勢較大,通訊的服務端都是由 cloudcore 來實現。
這裡我們引入一個邏輯叢集的概念,即每個 cloudcore 可以看做是一個叢集,橫向擴充套件多個 cloudcore 對接下層數量較大的邊緣節點,向上只依託在一個 kubernetes 叢集即可,架構如下所示:
這樣設計有如下幾點優勢:
-
解決單個 cloudcore 訊息轉發/接收等處理的效能瓶頸;
-
應用/裝置的釋出請求在 api-server 會被 cloudcore 監聽捕獲到,轉而由對應的 cloudcore 來處理請求到邊端,這樣緩解了 k8s 叢集的壓力;
-
中心雲只需要一套 k8s 叢集,呼叫鏈簡單清晰,易於管理。
測試實現
環境資訊:
測試叢集單 master 節點,管理一個 node1 工作節點,cloudcore 執行在 maser 節點上,並已接入 edge1 邊緣節點。
現在測試 node1 上建立 cloudcore 服務,將新的邊緣節點 edge2 接入,節點組圖如下:
叢集下已有 cloudcore 和 edgecore,node1 是 k8s 的 x86 普通節點,現在該節點上執行 cloudcore 提供服務。
- 複製 cloudcore 二進位制檔案
- 重新生成證照
- 生成 cloudcore.yaml 配置檔案
- 複製 k8s 叢集的 kubeconfig 並將路徑配置到 cloudcore.yaml
- 啟動 cloudcore
edge2 是作為待接入叢集的邊緣節點,在該節點上執行 edgecore, server 指向 node1,啟動服務。
可以看到 edge2 已經註冊到 node1 上的 cloudcore 並同步節點資訊到 k8s,測試釋出服務到 edge1 上:
總結
本文透過討論多叢集的方式來擴充套件納管邊緣節點的規模,分析了以 kubefed 聯邦進行多叢集管理機制,對比不同場景下的特點,介紹了 KubeEdge 中利用橫向擴充套件 cloudcore 的解決方案,並在測試環境部署實踐。
在實際生產環境中, 博雲 BeyondEdge 邊緣計算平臺依託於博雲 BeyondContainer 容器雲平臺 ,提供雲上服務的編排、治理、DevOps 等雲原生能力,利用 KubeEdge 將這些能力延伸到邊緣節點,並將邊緣裝置抽象到雲端 BeyondContainer容器雲中,作為孿生裝置資源,統一訪問入口。
並且, 執行在雲端的邊緣平臺元件 cloudcore 作為應用服務部署在BeyondContainer容器雲中 ,充分利用容器雲的產品能力,將 cloudcore 以高可用方式部署在 kubernetes 中心雲,透過 ingress 暴露服務介面提供給邊緣節點的元件 edgecore 訪問,可以根據邊緣節點實際接入量動態擴充套件 cloudcore,作為邏輯上的叢集擴充套件以提高中心雲對邊緣節點的承載能力。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923336/viewspace-2718054/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 邊緣計算k8s叢集SuperEdge初體驗K8S
- 法國 IT 巨頭 Atos 進軍邊緣計算
- 邊緣計算?
- 搭建異構 CPU 組成的邊緣計算 Kubernetes 叢集
- 邊緣計算如何改變企業IT
- 邊緣計算與雲端計算
- 邊緣計算2.0時代,“雲邊緣”與“邊緣雲”你分清了嗎?
- 邊緣計算系列科普(五)邊緣計算中的關鍵技術
- 邊緣計算|Hadoop——邊緣計算和Hadoop是什麼關係?Hadoop
- 從雲端計算轉向邊緣計算
- 邊緣叢集場景下的映象快取快取
- 邊緣雲端計算簡介
- 邊緣計算 KubeEdge+EdgeMash
- 【邊緣計算】邊緣計算時代已經到來,巨頭們新的敵人是資料邊界;邊緣計算、AI晶片、垂直應用,2018人工智慧怎麼投AI晶片人工智慧
- 大規模 IoT 邊緣容器叢集管理的幾種架構-0-邊緣容器及架構簡介架構
- OpenYurt 開箱測評 | 一鍵讓原生 K8s 叢集具備邊緣計算能力K8S
- Mesos計算框架:叢集管理器框架
- 邊緣計算與雲端計算的未來
- 天翼雲邊緣函式、邊緣安全專案入選“可信邊緣計算推進計劃”函式
- 蘇寧影片雲如何雲用邊緣計算擴充套件雲端計算的邊界的?套件
- 如何實現邊緣計算中的節點自治
- 邊緣計算的最佳實踐
- 邊緣計算與物聯網
- 邊緣計算、霧計算、雲端計算區別幾何?
- 【邊緣計算】劉陽:邊緣計算髮展中的若干熱點問題及思考
- 邊緣計算成為下一個爆發點,雲端計算巨頭和CDN巨頭誰會贏?
- 大規模 IoT 邊緣容器叢集管理的幾種架構-4-Kubeedge架構
- 雲端計算時代邊緣計算正蓬勃發展
- 邊緣計算 VS 雲端計算,誰才是未來?
- 戴文軍:如何用邊緣計算+邊緣儲存打造新一代智慧影片雲
- 物聯網智慧邊緣計算平臺——智慧計算就在身邊
- 【從0到1學習邊緣容器系列1】之 邊緣計算與邊緣容器的起源
- 雲原生與邊緣計算的碰撞——邊緣原生應用實踐
- 從中心走向邊緣——深度解析雲原生邊緣計算落地痛點
- 邊緣計算平臺如何助力物聯網發展
- 邊緣計算社群:2024年中國邊緣計算企業20強榜單 華為的邊緣指數為95 位居第一
- 計算機叢集計算機
- 邊緣計算中的防雷網路卡