作者簡介
Janakiram MSV是Janakiram & Associates的首席分析師始锚,也是國際信息技術(shù)學院的兼職教師沫换。他也是Google Qualified Developer类浪、亞馬遜認證解決方案架構(gòu)師载城、亞馬遜認證開發(fā)者、亞馬遜認證SysOps管理員和微軟認證Azure專業(yè)人員戚宦。Janakiram是云原生計算基金會的大使个曙,也是首批Kubernetes認證管理員和Kubernetes認證應用開發(fā)者之一。他曾在微軟受楼、AWS垦搬、Gigaom Research等知名公司工作。
Kubernetes正在通過數(shù)據(jù)中心尋找一條從云端通向邊緣的道路艳汽。早些時候猴贰,Kubernetes還被認為是運行在公有云上的超大規(guī)模工作負載。近幾年河狐,企業(yè)開始將Kubernetes應用于數(shù)據(jù)中心米绕。它最終成為在混合云和多云環(huán)境中運行工作負載的一致和統(tǒng)一的基礎(chǔ)設(shè)施層。
物聯(lián)網(wǎng)和人工智能的興起馋艺,促使業(yè)界在將計算能力向數(shù)據(jù)靠攏栅干,這就成為邊緣計算層。
邊緣計算是邊緣設(shè)備和云端/數(shù)據(jù)中心的中介捐祠。它基于業(yè)務邏輯提取設(shè)備的數(shù)據(jù)碱鳞,同時提供實時分析。它作為數(shù)據(jù)源頭和云之間的通道踱蛀,極大地降低了由于往返云端可能出現(xiàn)的延遲窿给。由于邊緣可以對需要發(fā)送到云端的數(shù)據(jù)進行處理和過濾贵白,因此也降低了帶寬成本。最后崩泡,邊緣計算將通過本地處理和存儲幫助企業(yè)實現(xiàn)數(shù)據(jù)的本地化和對數(shù)據(jù)的管理主權(quán)禁荒。
邊緣計算充分利用了云平臺的基礎(chǔ)服務,如數(shù)據(jù)提取角撞、數(shù)據(jù)處理呛伴、流分析、存儲靴寂、設(shè)備管理和機器學習推理等磷蜀。
Kubernetes正迅速成為邊緣計算的首選基礎(chǔ)設(shè)施。敏捷性百炬、規(guī)模性和安全性的承諾正逐漸延伸到邊緣基礎(chǔ)設(shè)施褐隆。基于CI/CD和GitOps的現(xiàn)代軟件交付機制使得管理運行在邊緣的應用程序變得容易剖踊。部署在邊緣位置的數(shù)萬個Kubernetes集群由Anthos庶弃、Arc、Tanzu和Rancher等管理平臺進行管理德澈。
邊緣的構(gòu)成
其實歇攻,計劃在邊緣運行Kubernetes的用戶沒有太多選擇,他們必須從云原生生態(tài)系統(tǒng)中最好的開源軟件和商業(yè)軟件中組裝堆棧梆造。
商業(yè)化的Kubernetes發(fā)行版并沒有針對在資源有限的環(huán)境中進行優(yōu)化缴守。部署在邊緣的Kubernetes發(fā)行版應該占用較小的空間,并且不會影響API的一致性和兼容性镇辉。
邊緣的存儲是基礎(chǔ)設(shè)施的關(guān)鍵構(gòu)件之一屡穗。它必須支持處理非結(jié)構(gòu)化數(shù)據(jù)集、NoSQL數(shù)據(jù)庫和共享文件系統(tǒng)的有狀態(tài)工作負載的各種需求忽肛。它應該具有定期拍攝數(shù)據(jù)快照并將其存儲在云中的能力村砂。而遷移和災難恢復等高級能力可以使邊緣計算層具有彈性。
網(wǎng)絡(luò)層應該為運行在邊緣的工作負載提供安全性和隔離性屹逛。在大多數(shù)情況下础废,邊緣基礎(chǔ)設(shè)施由多個組共享。例如罕模,在智慧建筑的用例中评腺,同一個邊緣集群可能為每個樓層運行工作負載。集群管理員應該能夠應用網(wǎng)絡(luò)策略淑掌,防止在一個命名空間中運行的應用程序訪問另一個命名空間的應用數(shù)據(jù)歇僧。并且網(wǎng)絡(luò)層應通過入侵檢測和聲明式策略提供安全性。
K3s:為邊緣而生的Kubernetes發(fā)行版
由Rancher Labs推出的K3s是一款輕量級Kubernetes發(fā)行版锋拖,它針對邊緣場景進行了優(yōu)化诈悍。雖然K3s是Kubernetes的簡化版、迷你版兽埃,但它并沒有影響API的一致性和功能侥钳。
從Kubectl到Helm再到Kustomize,幾乎所有的云原生生態(tài)中的工具都能無縫地與K3s一起工作柄错。事實上舷夺,K3s是一個經(jīng)過CNCF認證的、符合要求的Kubernetes發(fā)行版售貌,可以在生產(chǎn)環(huán)境中部署给猾。最近,K3s捐獻給CNCF颂跨,成為一個沙箱項目敢伸。幾乎所有在基于上游Kubernetes發(fā)行版的集群中運行的工作負載都能保證在K3s集群上運行。
K3s通過協(xié)調(diào)運行在邊緣的基礎(chǔ)設(shè)施和工作負載恒削,有效地解決了計算層的問題池颈。
Portworx:容器云原生存儲層
Portworx是一個為容器和微服務構(gòu)建的軟件定義存儲平臺。它將多個存儲設(shè)備抽象化钓丰,為云原生應用暴露出一個統(tǒng)一的躯砰、覆蓋式的存儲層。
Portworx的關(guān)鍵差異化因素之一是容器顆粒式存儲卷携丁。與其他存儲產(chǎn)品不同琢歇,Portworx暴露了一個統(tǒng)一的覆蓋存儲層,可以適應不同的用例梦鉴。例如李茫,存儲管理員可以定義一個旨在以高可用模式運行NoSQL數(shù)據(jù)庫的存儲類,同時為共享卷創(chuàng)建另一個存儲類尚揣。這兩種方案都是基于同一個存儲后端涌矢,而不需要管理兩個不同的存儲層。
邊緣計算層處理各種工作負載快骗,包括流媒體娜庇、數(shù)據(jù)存儲、分析方篮、復雜事件處理和AI推理名秀。其中一些工作負載需要專用的存儲卷,而其他工作負載則需要共享卷藕溅。例如匕得,服務于AI推理的多個pod將共享同一個填入ML模型的存儲卷。同時,message broker需要一個專用卷來持久化消息汁掠。
Portworx通過統(tǒng)一的方法消除了管理多個存儲層的痛苦略吨。其中的一些功能,如快照考阱、調(diào)度備份翠忠、遷移、集成RBAC和預測性容量規(guī)劃等乞榨,使得Portworx成為邊緣的理想選擇秽之。
目前,最新版本Portworx 2.6已經(jīng)正式支持K3s吃既。
Calico項目:邊緣的安全網(wǎng)絡(luò)
Calico為Kubernetes帶來了細粒度的網(wǎng)絡(luò)策略考榨。雖然Kubernetes對基于角色的訪問控制(RBAC)有廣泛的支持,但上游Kubernetes發(fā)行版中提供的默認網(wǎng)絡(luò)棧并不支持細粒度的網(wǎng)絡(luò)策略鹦倚。Calico通過允許和拒絕Kubernetes工作負載的流量來提供細粒度的控制河质。
對于DevOps來說,將應用程序有邏輯地分組到Kubernetes命名空間中是一種常見的做法申鱼。在邊緣計算場景中愤诱,一個K3s集群可能會運行多個由命名空間分隔的工作負載。Calico通過聲明式策略實現(xiàn)了命名空間的強隔離捐友。通過這些策略淫半,傳感器流式傳輸?shù)臄?shù)據(jù)將被授權(quán)的應用提取和處理。
Calico帶有內(nèi)置的入侵檢測功能匣砖,可以識別可疑的活動科吭。多云聯(lián)邦的多集群管理,使其能夠從統(tǒng)一的管理界面中輕松管理分布式邊緣基礎(chǔ)設(shè)施猴鲫。并且只要對安裝過程稍作修改对人,Calico就可以輕松地與K3s集成。
在接下來的教程中拂共,我將帶大家了解如何配置基于K3s牺弄、Portworx和Calico的邊緣集群。在隨后的部分中宜狐,我們還將探索利用該解決方案堆棧進行AIoT部署势告。保持關(guān)注喲!