共計 3840 個字符,預計需要花費 10 分鐘才能閱讀完成。
本篇內容主要講解“基于 Kubernetes 和 OpenStack 的應用案例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“基于 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 訪問。
下面,讓我們來看兩個案例。
案例 1: 智能城市 Smart City
第一個案例是捷克共和國 Pisek 城市的 SmartCity 項目。SmartCity 概念和架構將會部署超過 3000 個端點,大約 300 個物聯網網關,這些網關以高可用模式運行在由 Kubernetes 驅動的容器中。解決方案的一部分是開放數據門戶,數據 API 對提供信息的第三方公司來說可用:
交通,路徑,停車
監測,管理,節能
電子商務,市場,旅游信息
環境分析
生活方式,社會服務,社交網絡
目標解決方案使用基于樹莓派 2 的物聯網網關作為物聯網網關服務。網關的數據被存儲在 Graphite,由自定義的數據挖掘應用程序進行處理,結果已經被展示到基于 LeonardoCMS 的城市公民門戶,這是一種允許混合復雜的可視化與任意內容的網頁服務。這個開放數據門戶使得數據能夠通過可視化儀表或者 API 訪問。
以下屏幕用特定時期內的車輛和行人展示了簡單的從十字路口 Kollarova X Zizkova 輸出。
案例 2: 在 Austin OpenStack 峰會上的智能會議
為了證明我們的物聯網平臺在應用程序環境獨立,我們從智能城市項目采取了一個物聯網網關,然后和基于 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 的應用案例分析”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!