Kubernetes如何支撐邊緣計算平臺

容器編配引擎具有作爲邊緣解決方案的潛力,但是在它成爲邊緣解決方案之前還有很多問題需要解決。

到目前爲止,您可能已經聽說了Kubernetes如何在傳統的on-prem和雲環境中簡化應用程序的大規模部署。但是,將數據中心與駐留在離終端用戶更近的邊緣位置的工作負載結合起來的邊緣架構又如何呢?Kubernetes也能支撐一個邊緣計算平臺嗎?

答案是有可能。儘管Kubernetes具有作爲邊緣計算解決方案的潛力,但Kubernetes的開發人員和用戶在K8s真正爲邊緣做好準備之前還需要克服一些障礙。

Kubernetes如何幫助邊緣計算平臺

一些觀察人士認爲,Kubernetes已經爲在邊緣環境中託管應用程序做好了準備。例如,Canonical的Ammar Naqvi寫道,Kubernetes是邊緣計算的關鍵成分。雲原生計算基金會(Cloud Native Computing Foundation)也將Kubernetes作爲一種邊緣解決方案進行推廣。它還贊助了KubeEdge,這是一個致力於基於kubernetes的edge部署的完整的開源平臺,去年11月成爲CNCF的孵化項目。

當然,這些組織有一點偏見。Canonical和CNCF對Kubernetes進行了大量投資,如果Kubernetes成爲構建邊緣計算平臺的一種流行解決方案,它們將獲益。

儘管如此,關於爲什麼Kubernetes可能天生適合edge,他們還是提出了一些很好的觀點。在編寫過程中,Kubernetes提供了一個通用的控制平面,它可以與任何類型的底層邊緣基礎設施一起工作,這意味着它可以簡化跨不同邊緣環境的工作負載部署和管理。Kubernetes還擅長平衡流量和最小化延遲,這是邊緣工作負載的優先級。而且,作爲DevOps CI/CD管道的部署環境,Kubernetes將使開發人員更容易向edge app持續集成持續部署。

除了對推廣Kubernetes有明確興趣的供應商和開發人員之外,有證據表明,更多中立團體也將Kubernetes視爲未來邊緣計算平臺的重要組成部分。Omdia在採訪了十幾家雲計算和數據中心行業的思想領袖和供應商後,在一份報告中發現,目前有超過一半的人看到Kubernetes被部署在edge工作負載上。

根據Omdia的報告,Kubernetes將成爲一種技術,使從雲到邊緣的工作負載管理成爲一種通用的應用程序管理平臺。

簡而言之,我們有充分的理由相信Kubernetes將在未來幾年內成爲邊緣計算平臺中越來越重要的一部分。

Kubernetes在邊緣計算中的挑戰

然而,要使Kubernetes成爲管理部署在邊緣的應用程序的真正無縫解決方案,開發人員需要解決幾個挑戰。

最大的問題可能是確保中央數據中心和邊緣位置之間的低延遲數據傳輸。在很多方面,快速移動數據是邊緣計算的最大挑戰;應用程序編排是第二個問題。Kubernetes本身並沒有優化數據傳輸。Kubernetes並沒有以一種特定的方式將它們整合起來。

爲了確保在基於Kubernetes的邊緣環境中進行低延遲的數據移動,那麼,構建邊緣計算平臺的開發人員需要使Kubernetes與數據結構解決方案相結合的部署變得更容易。他們可能還需要改進Kubernetes處理內部數據移動的方式,例如,讓Kubernetes更容易告訴哪些內部流量優先級。目前,Kubernetes在如何平衡來自外部端點的傳入流量方面做得很好,但在管理內部流量流方面卻沒有那麼好,因爲每一毫秒延時都很重要。

類似地,Kubernetes將從更強的工作負載安排控制中受益。Kubernetes爲管理員提供了將應用程序分配給單個節點的能力,當所有節點都在單個數據中心內運行時,這種能力會很好地工作。

但是,如果節點分佈在多個邊緣位置,並且可能分佈在一箇中央數據中心,該怎麼辦呢?在這種情況下,您可能希望能夠管理哪些邊緣位置承載哪些應用程序,以及如何在它們之間平衡流量。這在今天的Kubernetes中是很複雜的,除非你在每個邊緣位置只有一個節點,但這是不可能的。那麼,Kubernetes需要的是一個特性,它允許管理員根據不同地理位置的節點池來定義工作負載的放置和優先級排序,而不僅僅是單獨的節點。

多集羣管理仍然是一個挑戰。最初,Kubernetes的設計或多或少假設每個組織將運行一個集羣,並可能劃分爲多個名稱空間。這些年來,情況發生了變化,大多數Kubernetes供應商現在都支持多集羣管理。但是它們做得並不好,跨多個集羣管理工作負載仍然是Kubernetes開發人員的次要考慮事項。

這對於邊緣計算平臺來說是個問題,組織可能會選擇在每個邊緣位置運行單獨的集羣,以隔離工作負載並簡化真正大規模環境的管理。

總結

作爲邊緣計算平臺的基礎,Kubernetes提供了很多東西,但它在這方面也有一些明顯的缺點。一些架構師認爲Kubernetes不適合某些可能部署在邊緣的工作負載,如集裝箱電信應用程序。

另一方面,只要有足夠的開發投入,Kubernetes作爲邊緣計算平臺的基礎所面臨的挑戰顯然是可以解決的。真正的問題我們應該問,也許不在於Kubernetes能夠在邊緣(就目前而言,答案是,它只有一種是優勢解決方案),但開發人員是否願意投資所有的資源使它成爲一個成熟的計算平臺。

推薦

深入探究 K8S ConfigMap 和 Secret

Kubernetes入門培訓(內含PPT)

本文分享自微信公衆號 - 雲原生技術愛好者社區(programmer_java)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章