為什么Kubernetes在邊緣計算中如此關鍵?
邊緣計算是云計算的一種變體,在邊緣計算的設計中是將用于計算、存儲和聯網的基礎架構服務在物理上更靠近生成數據的現場設備。可以說,這消除了數據到數據中心之間的“往返路程”,提高了服務的可用性。自推出以來,邊緣計算已經成為一種行之有效的運行時平臺,可以幫助解決電信、媒體、運輸、物流、農業、零售和其他領域中的獨特挑戰。
與此同時,Kubernetes也迅速成為邊緣計算的關鍵要素。通過使用Kubernetes,企業可以在邊緣運行容器并最大化利用資源、簡化測試,而且由于許多組織能夠在現場使用和分析更多數據進而讓DevOps團隊能夠更快、更有效地進行遷移。
在當今信息大爆炸時代,數據正在以前所未有的速度不斷更新,企業必須考慮如何經濟地將數據從邊緣傳輸到數據中心,以及在本地過濾和預處理數據是否性價比更高。如果工作負載沒有低延遲的約束,那么應該繼續由云解決方案提供服務。但是,新用例浪潮的到來要求運營商重新思考網絡架構,而這就是邊緣計算的用武之地。
邊緣計算提供了3種好處。首先,低延遲,通過提高現場設備的性能,使其不僅能夠更快地響應,而且能夠響應更多事件。其次,低流量,這有助于降低成本并提高總體吞吐量,從而使核心數據中心能夠支持更多的現場設備。最后,對于單機應用程序,在邊緣和數據中心之間存在網絡中斷的情況下,則更具備高可用性。
物聯網中智能設備的數量呈指數級增長,5G網絡的到來對邊緣計算也產生了重大影響,以及在邊緣執行人工智能任務的重要性日益增長,從而驅動了企業對邊緣計算的關注——因為所有這些都需要具備處理彈性需求和轉移工作負載的能力。因此,國際著名咨詢機構Gartner表示,到2025年,在傳統集中式數據中心或云外部創建和處理企業生成的數據量將從如今(2019年)的10%猛增至75%。
邊緣云至少有兩層——盡管每一層的構造都不同,但這兩者都將最大限度地提高運維效率和開發人員的生產力。
第一層是基礎設施即服務(IaaS)層。除了提供計算和存儲資源外,IaaS層還能滿足超低延遲和高帶寬的網絡性能需求。
第二層包含了Kubernetes,它已經成為在數據中心和公有云中協調容器化工作負載的事實標準。Kubernetes已經成為邊緣計算的極其重要的基礎。雖然在這一層使用Kubernetes并不是必須的,但事實證明,對于那些從事邊緣計算的組織來說,它是一個有效的平臺。由于Kubernetes在物理資源(計算、存儲和網絡)上提供了通用的抽象層,因此開發人員或DevOps工程師可以在任何地方(包括邊緣)以標準方式部署應用程序和服務。
Kubernetes還能使開發人員簡化它們的DevOps實踐并最大限度地減少與異構操作環境集成所花費的時間,從而使開發人員和運維人員感到滿意。Rancher Labs于2019年2月推出的k3s是一款適用于邊緣計算場景以及IoT場景的輕量級Kubernetes發行版。自發布至今,備受全球開發者關注,Github上的Star數已達12,000,成為了開源社區最受歡迎的邊緣計算Kubernetes解決方案。k3s大小小于70MB,在小于512MB的RAM中即可運行,并且k3s同時支持x86_64、ARM64和ARMv7架構。這意味著它可以十分靈活地跨任何邊緣基礎架構工作。此外,為了滿足“離線管理”的需求,k3s簡化了安裝流程,僅需一條命令即可完成安裝或升級。
那么組織應該如何部署這些層呢?
第一步,考慮物理基礎架構以及什么技術能夠有效地管理基礎架構,并將原始硬件轉換為IaaS層。因此,需要可用于硬件發現的操作原語(primitives),從而提供靈活性,使得能夠分配計算資源并動態地重新利用它們。此外,還需要基于KVM pod自動創建邊緣云的技術,該技術有效地使運維人員能夠使用預定義的資源集(RAM、CPU、存儲和超額預訂比率)創建虛擬機。
邊緣云的物理基礎架構的發現和配置完成后,第二步是選擇一個編排工具,該工具可輕松在邊緣基礎架構上安裝Kubernetes或任何軟件。然后,即可開始部署環境并啟用和驗證應用程序。隨著越來越多的組織在未來幾年中采用這種模式,將非常有趣。