您好,登錄后才能下訂單哦!
本篇內容主要講解“基于Kubernetes和OpenStack的應用案例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“基于Kubernetes和OpenStack的應用案例分析”吧!
開源軟件
整個平臺基于已存在的開源解決方案,我們想要使用的平臺包括:OpenStack,Kubernetes,Docker,OpenContrail等。
HW和獨立供應商
沒有一家供應商的定位是既包括軟件又包括硬件的。物聯網網關CPU不是x86/64架構就是ARM架構。我們不想被鎖定到用昂貴專用設備的供應商。
可互相操作
物聯網平臺對多種使用情況來說都是普遍可用的。比如,物聯網網關也可用在計算對象的路燈,就如同用在智能工廠或者工業4.0應用程序。因此,我們設計了以下高層次的架構,這個架構使用的是開源項目,OpenStack,Kubernetes,OpenContrail和Docker。
傳感器
任意用來閱讀環境數據(溫度,濕度,二氧化碳水平),對象,計數等等的傳感器。
IQRF網絡
IQRF是一個操作sub-gigahertz ISM bands的強大無線網格技術。能夠很容易地跟傳感器整合。
網關
在物聯網網關,由IQRF協調員來處理從傳感器傳來的數據。這些可以是任意的x86/64或者ARM架構,這些基于Docker,Kubernetes,OpenContrail vRouter和Debian,從預構建鏡像方面來運行系統。
網絡
網關可通過任意網絡連接(GSM/LTE/WiFi),因為SDN在Docker service和數據中心之間創建了動態L3VPN。
數據中心
數據中心包括了OpenStack和Kubernetes控制面板。這兩個編排解決方法都使用OpenContrail作為單個SDN(軟件定義網絡)。這就可以從中心點管理整個平臺。我們可以在本地遠程開啟任意Docker容器,然后創建動態連接到OpenStack上的service。OpenStack云容器數據存儲和大數據進程services。
虛擬化/API 訪問
所有數據在網絡端口已經被虛擬化,而且可以通過REST API service訪問。
下面,讓我們來看兩個案例。
第一個案例是捷克共和國Pisek城市的SmartCity項目。SmartCity概念和架構將會部署超過3000個端點,大約300個物聯網網關,這些網關以高可用模式運行在由Kubernetes驅動的容器中。解決方案的一部分是開放數據門戶,數據API對提供信息的第三方公司來說可用:
交通,路徑,停車
監測,管理,節能
電子商務,市場,旅游信息
環境分析
生活方式,社會服務,社交網絡
目標解決方案使用基于樹莓派2的物聯網網關作為物聯網網關服務。網關的數據被存儲在Graphite,由自定義的數據挖掘應用程序進行處理,結果已經被展示到基于LeonardoCMS的城市公民門戶,這是一種允許混合復雜的可視化與任意內容的網頁服務。這個開放數據門戶使得數據能夠通過可視化儀表或者API訪問。
以下屏幕用特定時期內的車輛和行人展示了簡單的從十字路口Kollarova X Zizkova輸出。
為了證明我們的物聯網平臺在應用程序環境獨立,我們從智能城市項目采取了一個物聯網網關,然后和基于IQRF網狀網絡連接傳感器(測量濕度,溫度和二氧化碳水平)一起在OpenStack峰會上放入Austin會展中心。這說明了物聯網網關管理和收集信息的能力,它可以從任意像IQRF,Bluetooth,GPIO之類的基于Linux平臺通信技術獲得信息。
我們用單個、主動的物聯網網關在3樓會議部署了20個傳感器和20個路由器,從整個IQRF網狀網絡接收數據并傳送到專門的時間序列數據庫,在這個例子里是Graphite。收集器是運行在由Kubernetes管理的Docker容器MQQT-Java橋。最有趣的就是運行在樹莓派上的Docker容器,和運行在Europe數據中心的虛擬機。OpenContrail SDN提供動態網絡覆蓋tunnels。
以下圖片展示了單個無線IQRF網狀網絡傳感器和路由器發現。
IQRF是一個在sub-gigahertz頻帶上操作的無線網狀網絡技術。它提供非常簡單的整合,產品互操作性,最大值240 hops的健壯網狀網絡,范圍多達數百米,以及超低功率操作。
以下截屏從2樓不同的房間展示了各個時間下的CO2值。歷史圖表展示的是周一的情況。
從收集的Austin數據來看,以下圖覆蓋了services。
所謂“物聯網平臺”,是用一般視角創建的,這個視角基于收集,管理和安全、動態處理成千上萬的端點來集中管理。因此,架構會分成兩個主要的部分:
1 數據中心
數據中心是整個物聯網平臺管理的重點。OpenStack IaaS云和虛擬機一起運行在SDN控制面板上。這些機器包括時間序列存儲,處理數據集群,數據API代理服務,虛擬化網頁服務等。
2 網關
物聯網網關位于像路燈,工業設備,家用電器之類的目標地方。SDN提供傳輸層用云服務來連接遠程物聯網網關。網關可以是多平臺的,有可能的話,可以將x86/64和ARM設備混合到一起。在單個網關為多個客戶處理多個傳感器平臺,由于微服務分割(Docker容器)和Kubernetes 多租戶支持。這個平臺可以提供可伸縮的多租戶空間。
以下圖表展示了在網關方面的數據中心層和組件。這個章節的細節展示了更多信息。
細節圖表
細節圖表提供了整個物聯網平臺在本地的架構視圖。左邊展示的是數據中心,右邊展示的是之前提到的網關。
就如同你在下面看到的那樣,OpenStack被用作云來處理所有的control service,以及大數據處理,和之前提到的虛擬單元。在網關的Kubernetes被用于services的微分段,這對多租戶和不同傳感器間的安全來說十分有必要。
OpenContrail被用來連接這兩邊,并且提供Kubernetes PODs和OpenStack 項目虛擬機間的網絡分段。
像上文提到的,SDN覆蓋已經完成了分割。重要的是只有數據中心邊界路由器和物聯網網關之間的IP連接。最底層是網關OS和數據中心邊界路由器之間的VPN,在這里OpenContrail可以直接在虛擬機(OpenStack云)和容器(網關)間交流。這個方法允許從不同的傳感器和執行器選擇,給予他們特權,并且安全地連接處理應用程序內部的云。
數據中心包括以下services:
管理services
HW集群用所有的control service來運行虛擬機:OpenStack controller,OpenContrail controller(SDN),Kubernetes master,SaltMaster。
OpenStack云
OpenStack項目為不同的虛擬機提供分段,虛擬機包括數據庫(graphite,influxdb,openTSDB),大數據處理(Hadoop),數據虛擬化(Grafana,LeonardoCMS)。它運行在KVM超管理器上,并且為網絡使用OpenContrail neutron插件。
邊界路由器
OpenContrail創建iBGP,iBGP與數據中心邊界路由器對等,在邊界路由器上,從OpenStack虛擬機和物聯網網關上的Kubernetes pods可以傳播動態網絡路由。它創建了標準的L3VPN,MPLSoverGRE或者MPLSoverUDP。
遠程網關包括的組件:
Kubernetes Minion
Kubernetes minion與Kubernetes master在數據中心進行交流,并且通過kubelet管理PODs。Kubelet使用opencontrail插件,這個插件可以用vRouter代理連接Docker容器。
Kubernetes PODs
Kubernetes PODs連接到vRouter的單個或者多個容器組。PODs由標簽進行分類。這就可以開啟不同的應用程序,就可以從像IQRF,Bluetooth或者GPIO這樣的消息總線讀取。
Docker容器
Kubernetes PODs中的Docker容器帶來無須任何特殊裝置就可以輕松操作系統的巨大好處。比如IQRF用特定版本來使用簡單的Java應用程序,這個版本用容器可以在幾分鐘內進行交付,而且不會導致跟操作系統網關不匹配的狀況。
下圖提供了應用視圖的模式。展示了虛擬機內部OpenStack云能夠在任意地理位置L2或者L3上聯系到Docker容器的狀況,這得益于OpenContrail的覆蓋。因此,應用程序開發者能夠使用相同的工具,就如同他們在標準云中使用的那樣。
比如,我們從環境傳感器收集數據。傳感器直接連接到容器,數據在容器中處理,之后發送到Graphite時間序列數據庫。因為我們想要生動地實時顯示數據,我們用讀取GraphiyeAPI接口的Leonardo CMS來使用另一個虛擬機,并在網頁上展現數據。根據這個,我們就可以在同一個由多個輸入和輸出的云中,依據相同的準則來創建不同的項目。
到此,相信大家對“基于Kubernetes和OpenStack的應用案例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。