• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OpenStack和Kubernetes的雙向部署技術(shù)研究

      2020-03-30 03:19:04杜磊
      電腦知識(shí)與技術(shù) 2020年1期
      關(guān)鍵詞:云計(jì)算

      杜磊

      摘要:該文基于OpenStack和Kubernetes兩大云計(jì)算領(lǐng)域開源技術(shù)研究了二者的融合及雙向部署技術(shù)。OpenStack通過(guò)虛擬化技術(shù)將計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源抽象成計(jì)算資源池、網(wǎng)絡(luò)資源池和存儲(chǔ)資源池,實(shí)現(xiàn)基礎(chǔ)虛擬資源的統(tǒng)一調(diào)度管理。Kubernetes能夠?qū)θ萜骰瘧?yīng)用進(jìn)行編排、運(yùn)行、維護(hù)和擴(kuò)展等,可以實(shí)現(xiàn)容器管理功能?;贠penStack集群實(shí)現(xiàn)Kuber-netes集群的部署可利用OpenStack的Magnum項(xiàng)目融合Kubernetes集群提供容器服務(wù)。基于Kubernetes集群實(shí)現(xiàn)EOpen-Stack集群的部署的核心思想是將OpenStack組件容器化,可使用Kolla、OpenStack-helm以及Tripleo等項(xiàng)目,保證其更高效穩(wěn)定的運(yùn)行,資源得到充分利用并且便于擴(kuò)展和維護(hù)。

      關(guān)鍵詞:OpenStack;Kubernetes;云計(jì)算;雙向部署

      中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2020)01-0010-03

      隨著現(xiàn)代計(jì)算機(jī)技術(shù)的不斷發(fā)展,尤其是近年來(lái)國(guó)家網(wǎng)絡(luò)信息體系的不斷建設(shè),云計(jì)算及相關(guān)領(lǐng)域的技術(shù)越來(lái)越受到重視。云計(jì)算是一種按需計(jì)費(fèi)的商業(yè)模式,能夠使消費(fèi)者通過(guò)便捷的、可用的網(wǎng)絡(luò)訪問,進(jìn)一步使用由云服務(wù)商提供的計(jì)算資源共享池(資源主要包括軟件、網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)等),即只需要投入極少的管理工作就能快速提供資源,且消費(fèi)者與服務(wù)提供商之間的互動(dòng)會(huì)大幅減少。

      OpenStack是一個(gè)構(gòu)建穩(wěn)定高效的開源云管理平臺(tái)項(xiàng)目,OpenStack集群通過(guò)虛擬化技術(shù)將計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源抽象成計(jì)算資源池、網(wǎng)絡(luò)資源池和存儲(chǔ)資源池,并將這些資源池進(jìn)行統(tǒng)一劃分和管理,提供市場(chǎng)所需的虛擬資源及虛擬服務(wù)能力。Kubernetes是一個(gè)開源的容器集群管理系統(tǒng),能夠支持不同的容器技術(shù),Docker是Kubernetes集群系統(tǒng)普遍應(yīng)用的容器化技術(shù),利用Kubernetes集群便于管理跨主機(jī)的容器化應(yīng)用,實(shí)現(xiàn)容器化程序的自動(dòng)部署、實(shí)例化和運(yùn)行管理能力。

      OpenStack和Kubernetes都是開源的技術(shù),二者的集群部署技術(shù)都已十分成熟,但OpenStack和Kubernetes的融合是當(dāng)今虛擬化系統(tǒng)的研究熱點(diǎn),更多的開發(fā)者聚焦于兩種集群的融合技術(shù)中,是未來(lái)OpenStack虛擬化集群和Kubernetes容器集群的發(fā)展方向,能夠使云計(jì)算供應(yīng)商提供更好的應(yīng)用及資源,有利于促進(jìn)云計(jì)算領(lǐng)域IaaS層資源與PaaS層平臺(tái)服務(wù)的深入融合。

      1OpenStack與Kubernetes概述

      1.1OpenStack概述

      OpenStack是一個(gè)構(gòu)建穩(wěn)定高效的開源云管理平臺(tái)項(xiàng)目,通過(guò)虛擬化技術(shù)將計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源抽象成計(jì)算資源池、網(wǎng)絡(luò)資源池和存儲(chǔ)資源池,通過(guò)keystone、nova、neutron、glance、cinder等組件實(shí)現(xiàn)對(duì)虛擬機(jī)、裸金屬、塊存儲(chǔ)、文件存儲(chǔ)、對(duì)象存儲(chǔ)、網(wǎng)絡(luò)、負(fù)載均衡、安全組、防火墻等基礎(chǔ)虛擬資源的統(tǒng)一調(diào)度管理。OpenStack架構(gòu)如圖1所示。

      OpenStack集群部署組件中keystone組件為nova、neutron、cinder、glance、ceilometer、swift等組件提供認(rèn)證服務(wù),保障集群的認(rèn)證管理功能;nova組件為虛擬機(jī)VM提供部署和計(jì)算能力,便于虛擬機(jī)增、刪、改、查等全生命周期管理;neutron組件為虛擬機(jī)VM提供網(wǎng)絡(luò)服務(wù),保障集群內(nèi)的網(wǎng)絡(luò)架構(gòu)功能;cinder為虛擬機(jī)VM提供云硬盤存儲(chǔ)能力,并將備份存儲(chǔ)在swift中統(tǒng)一管理,支撐集群的云存儲(chǔ)功能;glanee組件為虛擬機(jī)提供鏡像服務(wù),支撐集群的應(yīng)用部署鏡像環(huán)境,并將鏡像存儲(chǔ)在swift中統(tǒng)一管理;swfit組件為集群保障對(duì)象存儲(chǔ)功能,主要管理鏡像和備份存儲(chǔ)能力;ceilometer組件為nova、neutron、cinder、glanee等組件提供監(jiān)控能力,用于集群的監(jiān)控管理功能;horizon組件為nova、neutron、cinder、glance、swift、keystone等組件提供可視化界面,便于各個(gè)組件功能的可視化操作管理;heat組件為集群提供編排能力,能夠?qū)崿F(xiàn)各個(gè)組件功能的應(yīng)用編排。

      1.2 Kubernetes概述

      Kubernetes是由Google公司開源實(shí)現(xiàn)的跨主機(jī)集群自動(dòng)部署、擴(kuò)展管理容器化集群的系統(tǒng)。利用Kubemetes集群便于管理跨主機(jī)運(yùn)行的容器化應(yīng)用,能夠?qū)θ萜骰瘧?yīng)用進(jìn)行編排、運(yùn)行、維護(hù)和擴(kuò)展等,可以實(shí)現(xiàn)容器的負(fù)載均衡、資源監(jiān)控、日志訪問與獲取、認(rèn)證和授權(quán)、健康檢查、水平擴(kuò)展和自動(dòng)發(fā)現(xiàn)等功能。Kubernetes架構(gòu)如圖2所示。

      Kubernetes集群分為Master和Minion兩種類型的節(jié)點(diǎn),Master為控制節(jié)點(diǎn),Minion為計(jì)算節(jié)點(diǎn)。Master節(jié)點(diǎn)上部署著Kubernetes的主要控制組件:kube-apiserver、kube-controller-manager、kube-scheduler、etcd等,能夠處理Kubemetes API請(qǐng)求,能夠融合控制器處理集群中常規(guī)任務(wù)的后臺(tái)進(jìn)程,能夠調(diào)度Kubernetes集群中部署的最小單元模型pod,能夠提供存儲(chǔ)Kubernetes集群的數(shù)據(jù)信息的鍵值對(duì)存儲(chǔ)服務(wù)。Minion節(jié)點(diǎn)上部署著kubelet、kube-proxy等組件,用于維護(hù)pod的運(yùn)行時(shí)環(huán)境,kubelet是pod的代理服務(wù),能夠通過(guò)apiserver或本地配置實(shí)現(xiàn)監(jiān)視已分配的pod、加載volume、下載密鑰、啟動(dòng)運(yùn)行pod中的容器、定時(shí)執(zhí)行健康檢測(cè)、報(bào)告pod運(yùn)行狀態(tài)、創(chuàng)建鏡像備份等功能。kube-proxy能夠通過(guò)在主機(jī)節(jié)點(diǎn)上維護(hù)一個(gè)網(wǎng)絡(luò)規(guī)則和連接轉(zhuǎn)發(fā)來(lái)實(shí)現(xiàn)Kubernetes抽象出的服務(wù)概念,底層通過(guò)iptables實(shí)現(xiàn)流量轉(zhuǎn)發(fā)。

      1.3 OpenStaek與Kubernetes的融合

      0penStack與Kubernetes的融合主要有兩個(gè)方向:一是在0penStack集群上部署Kubemetes集群,利用OpenStack的mag.nun項(xiàng)目融合Kubernetes集群提供容器服務(wù);二是在Kubernetes集群上部署OpenStack集群,利用一些重要的工具,比如Open-Stack-helm、Kolla-Kubemete等,將OpenStack的服務(wù)封裝成應(yīng)用進(jìn)行安裝,或者將0penStack以鏡像的形式運(yùn)行在Kubernetes集群中。OpenStack與Kubernetes的融合已是大勢(shì)所趨,隨著技術(shù)的發(fā)展OpenStack和Kubernetes集群的雙向部署相信在未來(lái)都能夠很好地實(shí)現(xiàn)。

      2OpenStack上部署Kubernetes研究

      基于OpenStack集群實(shí)現(xiàn)Kubemetes集群的部署可利用OpenStack的Magnum項(xiàng)目融合Kubemetes集群提供容器服務(wù),OpenStack的Magnum項(xiàng)目旨在為用戶提供更好的容器服務(wù)。Magnum項(xiàng)目支持主流的容器編排引擎Kubemetes、Swarm和Mesos,實(shí)現(xiàn)在OpenStack集群上搭建容器集群并使用容器服務(wù)。使用Magnum架構(gòu)實(shí)現(xiàn)Kubernetes集群創(chuàng)建的核心在于Magnum的兩個(gè)組件:Magnum API和Magnum Conductor。mag-nun整體架構(gòu)如圖3所示。

      Magnum API負(fù)責(zé)接收創(chuàng)建Kubernetes集群的請(qǐng)求,Mag-nun Conductor負(fù)責(zé)執(zhí)行創(chuàng)建Kubemetes集群的操作,通過(guò)與0penStack和容器編排引擎的交互操作提供容器服務(wù)。Mag-nun API和Magnum Conductor兩者之間的通信通過(guò)RabbitMQ服務(wù)的RPC(Remote Procedure Call,遠(yuǎn)程服務(wù)調(diào)用1隊(duì)列完成。Magnum API組件主要包括certificate、cluster與clustertemplate等資源,certificate的作用是實(shí)現(xiàn)用戶鑒權(quán),提供認(rèn)證功能,clus-ter能夠提供容器服務(wù),通過(guò)Magnum Conductor按照集群模板創(chuàng)建,clustertemplate是創(chuàng)建集群的模板,主要定義需要?jiǎng)?chuàng)建的集群的特征屬性,整合集群的特征屬性并為其提供創(chuàng)建的具體參數(shù)信息。Magnum API對(duì)接收到的請(qǐng)求進(jìn)行解析后經(jīng)過(guò)RPC隊(duì)列將操作集群的消息傳遞到Magnum Conductor組件進(jìn)行處理,與集群模板相關(guān)的操作會(huì)直接與數(shù)據(jù)庫(kù)進(jìn)行交互實(shí)現(xiàn)。Mag-nun Conductor接收到與操作集群相關(guān)的消息后,通過(guò)其三大核心資源進(jìn)行后續(xù)處理,包括heat template、handlers和database等。heattemplate接收Magnum API的clustertemplate提供的集群特征屬性和具體參數(shù)信息,OpenStack集群中的Heat組件將其當(dāng)作整體規(guī)劃模板以便于后續(xù)編排,handlers的主要功能是將資源信息寫入數(shù)據(jù)庫(kù),集群資源的創(chuàng)建驅(qū)動(dòng)會(huì)根據(jù)容器編排引擎和鏡像類型的不同而不同,創(chuàng)建集群時(shí)作為可選項(xiàng)提供功能,database提供數(shù)據(jù)庫(kù)功能,實(shí)現(xiàn)集群資源信息的寫入和記錄等。

      通過(guò)OpenStack的Magnum項(xiàng)目實(shí)現(xiàn)Kubernetes集群創(chuàng)建的流程如圖4所示。Heat在創(chuàng)建集群時(shí)會(huì)將Kubernetes集群引擎的配置寫入Cloud-init工具,Openstack集群提供的虛擬機(jī)中會(huì)注2kCloud-init工具和相關(guān)配置,進(jìn)而完成Kubernetes集群的創(chuàng)建,保證Kubernetes集群的容器服務(wù)正常運(yùn)行。

      3Kubernetes上部署openStack研究

      基于Kubernetes集群實(shí)現(xiàn)OpenStack集群的部署的核心思想是將OpenStack組件容器化,實(shí)現(xiàn)OpenStack的微服務(wù)化,保證其更高效穩(wěn)定的運(yùn)行,資源得到充分利用并且便于擴(kuò)展和維護(hù)。OpenStack的容器化部署可使用Kolla項(xiàng)目,Kolla-Ansible和Kolla-Kubernetes這兩個(gè)Kolla的子項(xiàng)目可實(shí)現(xiàn)容器的配置管理。Kolla-Ansible使用自動(dòng)化運(yùn)維工具Ansible實(shí)現(xiàn)容器的編排,Kolla-Kubernetes使用Kubernetes完成容器的編排,Open-Stack社區(qū)還有OpenStack-helm以及Triple0項(xiàng)目等將Kuber-netes運(yùn)行于OpenStack底層。

      Kolla-Ansible使用Docker Registry、Docker Compose與An-sible等工具來(lái)解決容器服務(wù)的下發(fā)、編排和配置等問題。Kolla首先將OpenStack打包成容器鏡像,并將鏡像存放在DockerRegistry倉(cāng)庫(kù)中,然后用戶選擇部署方式,依據(jù)用戶需求編寫部署的yaml文件,將yaml文件分發(fā)給Docker Compose執(zhí)行操作,Docker Compose依據(jù)集群配置進(jìn)行編排,最后Ansible根據(jù)用戶的OpenStack配置將其寫入各個(gè)容器中,通過(guò)Docker拉起鏡像,完成集群部署。

      Kolla-Kubernetes項(xiàng)目依靠Kubernetes實(shí)現(xiàn)OpenStack的容器化部署,實(shí)現(xiàn)OpenStack組件的容器化管理、編排和自動(dòng)化管理。在Kubernetes集群上封裝OpenStack組件到容器中,同時(shí)寫入配置,完成集群的部署。將OpenStack部署在Kubernetes集群上有一個(gè)瓶頸還需解決,OpenStack集群和Kubernetes集群都具有較為復(fù)雜的一層網(wǎng)絡(luò)平面,OpenStack中主要使用neu-tron組件實(shí)現(xiàn)網(wǎng)絡(luò)功能,而Kubernetes中主要使用kube-proxy來(lái)實(shí)現(xiàn)容器間網(wǎng)絡(luò)流量的負(fù)載均衡,neuron需要直接對(duì)接底層硬件,若將其封裝在容器中運(yùn)行就無(wú)法實(shí)現(xiàn)neuron與主機(jī)的連接,因此需要使用neutron直接為Kubernetes提供網(wǎng)絡(luò)服務(wù),后續(xù)解決方向應(yīng)該是將Kubernetes的kube-proxy組件和Open-Stack的neutron組件融合,提供Kubernetes集群更為強(qiáng)大的網(wǎng)絡(luò)插件,完美實(shí)現(xiàn)OpenStack的容器化部署。

      4結(jié)束語(yǔ)

      基于OpenStack和Kubernetes的雙向部署是云計(jì)算領(lǐng)域的發(fā)展趨勢(shì),將Kubernetes集群部署在OpenStack集群上能夠充分利用計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源,靈活調(diào)度,應(yīng)用以容器的形式部署提高了開發(fā)效率和運(yùn)維成本,將OpenStack集群部署在Ku-bernetes集群上在一定程度可以解決OpenStack部署困難的問題,無(wú)論是部署難度還是部署時(shí)間都優(yōu)于現(xiàn)有的部署工具,同時(shí)在OpenStack集群的灰度升級(jí)、靈活調(diào)度、高效運(yùn)維等方面充分發(fā)揮了容器技術(shù)的優(yōu)勢(shì),后續(xù)針對(duì)OpenStack的neutron組件和Kubernetes網(wǎng)絡(luò)組件的融合方面仍是研究重點(diǎn)和趨勢(shì)。

      猜你喜歡
      云計(jì)算
      云計(jì)算虛擬化技術(shù)在電信領(lǐng)域的應(yīng)用研究
      基于云計(jì)算的醫(yī)院信息系統(tǒng)數(shù)據(jù)安全技術(shù)的應(yīng)用探討
      談云計(jì)算與信息資源共享管理
      志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
      云計(jì)算與虛擬化
      基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
      基于云計(jì)算環(huán)境下的ERP教學(xué)改革分析
      科技視界(2016年22期)2016-10-18 14:33:46
      基于MapReduce的故障診斷方法
      實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
      云計(jì)算中的存儲(chǔ)虛擬化技術(shù)應(yīng)用
      科技視界(2016年20期)2016-09-29 13:34:06
      永仁县| 巴马| 岑溪市| 阳山县| 巢湖市| 通海县| 阆中市| 将乐县| 芮城县| 基隆市| 阳江市| 绍兴市| 临清市| 牡丹江市| 锡林郭勒盟| 新化县| 清涧县| 临泽县| 瑞昌市| 盐城市| 诸暨市| 望江县| 石楼县| 武邑县| 马公市| 沧州市| 班戈县| 福清市| 东阳市| 凤庆县| 平阴县| 东乡| 赣榆县| 漳浦县| 吉林省| 玉溪市| 莱芜市| 上高县| 海安县| 稻城县| 淅川县|