您當(dāng)前的位置是:  首頁(yè) > 資訊 > 文章精選 >
 首頁(yè) > 資訊 > 文章精選 >

白皮書(shū)《Leveraging Containers and OpenStack》(下)

2019-03-06 10:02:08   作者:   來(lái)源:開(kāi)源云中文社區(qū)   評(píng)論:0  點(diǎn)擊:


  Kata Containers——通過(guò)虛擬化保護(hù)應(yīng)用程序
  Kata Containers是一個(gè)新的開(kāi)源項(xiàng)目,是輕量級(jí)虛擬機(jī)的一種新穎實(shí)現(xiàn),可以無(wú)縫集成到容器生態(tài)系統(tǒng)中。 Kata Containers與容器一樣輕巧快速,并與容器管理層集成(包括流行的編排工具,如Docker和Kubernetes),同時(shí)還提供了VM的安全優(yōu)勢(shì)。Kata Containers遵循Open Container Initiative(OCI)標(biāo)準(zhǔn)——OpenStack Foundation是該標(biāo)準(zhǔn)的積極分子。Kata Containers托管于OpenStack Foundation,但與OpenStack項(xiàng)目分開(kāi),擁有自己的治理和社區(qū)。
  行業(yè)向容器的轉(zhuǎn)變帶來(lái)了獨(dú)特的挑戰(zhàn),即在多租戶環(huán)境中保護(hù)用戶工作負(fù)載,同時(shí)兼顧可信和不可信工作負(fù)載。Kata Containers使用硬件支持的隔離作為pod中每個(gè)容器或容器集合的邊界。此方法解決了傳統(tǒng)容器架構(gòu)構(gòu)中共享內(nèi)核的安全問(wèn)題。
  Kata Containers非常適合按需、基于事件的部署,例如持續(xù)集成/持續(xù)交付,以及運(yùn)行時(shí)間更長(zhǎng)的Web服務(wù)器應(yīng)用程序。Kata還支持從傳統(tǒng)虛擬化環(huán)境輕松過(guò)渡到容器,因?yàn)樗С謧鹘y(tǒng)訪客內(nèi)核和設(shè)備傳遞功能。Kata Containers提供增強(qiáng)的安全性、可擴(kuò)展性和更高的資源利用率,同時(shí)簡(jiǎn)化整體堆棧的實(shí)現(xiàn)。
  OpenStack和Kubernetes集成
  選擇開(kāi)源平臺(tái)的主要好處之一是跨這些平臺(tái)的標(biāo)準(zhǔn)部署的接口的穩(wěn)定性。 OpenStack Foundation和Cloud Native Computing Foundation(CNCF)都為OpenStack云和Kubernetes集群維護(hù)互操作性標(biāo)準(zhǔn),保證庫(kù)、應(yīng)用程序和驅(qū)動(dòng)程序可以在所有平臺(tái)上運(yùn)行,無(wú)論它們?cè)诤翁幉渴稹_@為“肩并肩”集成創(chuàng)造了機(jī)會(huì),允許OpenStack和Kubernetes利用另一方提供的資源。
  Kubernetes社區(qū)中的OpenStack Special Interest Group(SIG-OpenStack)維護(hù)著Cloud Provider OpenStack插件。除了在OpenStack上運(yùn)行Kubernetes的云provider接口外,它還維護(hù)了幾個(gè)允許Kubernetes利用各個(gè)OpenStack服務(wù)的驅(qū)動(dòng)程序。這些驅(qū)動(dòng)包括:
  • 兩個(gè)獨(dú)立的Cinder驅(qū)動(dòng)程序。Flex Volume驅(qū)動(dòng)程序使用基于exec的模型與驅(qū)動(dòng)程序接口,以及容器存儲(chǔ)接口(CSI)驅(qū)動(dòng)程序(該驅(qū)動(dòng)程序使用容器編排系統(tǒng)的標(biāo)準(zhǔn)接口將任意存儲(chǔ)系統(tǒng)暴露給其容器工作負(fù)載)。這些驅(qū)動(dòng)程序支持70多種存儲(chǔ)驅(qū)動(dòng)程序,可通過(guò)單個(gè)Cinder API連接大量經(jīng)過(guò)實(shí)戰(zhàn)考驗(yàn)的專(zhuān)有和開(kāi)源存儲(chǔ)設(shè)備。
  • Keystone的基于webhook的身份驗(yàn)證和授權(quán)接口。每種模式、身份驗(yàn)證和授權(quán)都可以彼此獨(dú)立配置。雖然正在進(jìn)一步開(kāi)發(fā)中,但該接口支持軟多租戶(支持Kubernetes RBAC)。
  OpenStack和Kubernetes都支持由各種驅(qū)動(dòng)程序支持的高動(dòng)態(tài)網(wǎng)絡(luò)模型。由于這些標(biāo)準(zhǔn)網(wǎng)絡(luò)接口,可以輕松構(gòu)建具有強(qiáng)大網(wǎng)絡(luò)集成的獨(dú)立OpenStack和Kubernetes集群。在OpenStack中,Kuryr項(xiàng)目生成一個(gè)通用網(wǎng)絡(luò)接口(CNI)驅(qū)動(dòng)程序,為Docker和Kubernetes提供Neutron網(wǎng)絡(luò)。另一方面,像Calico這樣的項(xiàng)目提供Neutron驅(qū)動(dòng)程序,通過(guò)標(biāo)準(zhǔn)的Neutron API直接訪問(wèn)流行的Kubernetes網(wǎng)絡(luò)覆蓋。
  III 案例研究
  OpenStack社區(qū)的許多成員正在為與容器相關(guān)的各種OpenStack項(xiàng)目提供新代碼,評(píng)估容器的含義和好處,并在生產(chǎn)中使用容器來(lái)解決挑戰(zhàn)并解鎖新功能。本節(jié)重點(diǎn)介紹一些最有趣的案例研究。
  AT&T
  AT&T是全球最大的電信公司之一,它利用容器技術(shù)來(lái)部署和管理OpenStack本身,依靠基礎(chǔ)設(shè)施容器來(lái)實(shí)現(xiàn)簡(jiǎn)單性和效率,目的是在容器化的OpenStack上構(gòu)建5G基礎(chǔ)設(shè)施。
  為了實(shí)現(xiàn)目標(biāo),AT&T正在使用OpenStack-Helm項(xiàng)目在Kubernetes集群中編排基于LOCI的OpenStack鏡像,同時(shí)利用Kubernetes、Docker和核心OpenStack服務(wù)。AT&T還使用Bandit、Tempest、Patrole和許多其他OpenStack項(xiàng)目。AT&T還在社區(qū)中合作推出了一系列名為Airship的云服務(wù)項(xiàng)目——該項(xiàng)目提供從裸機(jī)到運(yùn)行OpenStack工作負(fù)載的生產(chǎn)級(jí)Kubernetes的云。
  AT&T發(fā)現(xiàn)容器化允許其將傳統(tǒng)的部署類(lèi)型活動(dòng)轉(zhuǎn)移到左側(cè),并使用CI / CD進(jìn)行驗(yàn)證。Kubernetes還提供了巨大的可擴(kuò)展性和彈性,以及允許OpenStack-Helm以聲明方式配置操作行為,注入配置,完成滾動(dòng)升級(jí)和更新而不影響租戶工作負(fù)載的鉤子。
  利用容器技術(shù)來(lái)部署和管理OpenStack不應(yīng)該對(duì)租戶產(chǎn)生明顯的影響——除了為它們提供具有更高彈性的平臺(tái),能夠更頻繁地獲得云功能并且中斷最少。AT&T的運(yùn)維團(tuán)隊(duì)的新經(jīng)驗(yàn)將更多的努力轉(zhuǎn)移到定義站點(diǎn)的聲明性配置,并讓面向Kubernetes的自動(dòng)化自行進(jìn)行部署。
  AT&T旨在利用這種架構(gòu)為虛擬網(wǎng)絡(luò)功能提供支持——這些功能構(gòu)成了其以消費(fèi)者和業(yè)務(wù)為中心的產(chǎn)品和服務(wù)的支柱。AT&T的容器化Network Cloud的初始使用案例將是新興5G網(wǎng)絡(luò)的VNF的初始部署。OpenStack過(guò)去、現(xiàn)在和將來(lái)都非常適合AT&T的聚焦于VNF的云用例。容器化只是一種演變,允許AT&T以更可靠、快速、零接觸的方式部署、管理和擴(kuò)展其OpenStack基礎(chǔ)設(shè)施。
  在運(yùn)維方面,AT&T仍在測(cè)試這種方法,但已承諾很快將5G服務(wù)投入生產(chǎn)。OpenStack和容器技術(shù)將成為這項(xiàng)服務(wù)的支柱,這對(duì)AT&T的數(shù)百萬(wàn)用戶來(lái)說(shuō)具有很強(qiáng)的戰(zhàn)略性。部署5G服務(wù)將證明OpenStack和容器在大規(guī)模分布式生產(chǎn)環(huán)境中的相關(guān)性。
  CERN
  CERN使物理學(xué)家和工程師能夠利用世界上最大和最復(fù)雜的科學(xué)儀器探索宇宙的基本結(jié)構(gòu),研究物質(zhì)的基本成分——基本粒子。CERN云為物理學(xué)家提供科學(xué)計(jì)算的計(jì)算資源,分析來(lái)自大型強(qiáng)子對(duì)撞機(jī)和其他實(shí)驗(yàn)的數(shù)據(jù)。
  自2013年以來(lái),CERN一直在運(yùn)行OpenStack,目前正在單個(gè)云中為虛擬機(jī)、裸機(jī)和容器提供服務(wù)。容器可以在虛擬機(jī)或裸機(jī)上運(yùn)行,具體取決于用例,所有這些都通過(guò)OpenStack Magnum進(jìn)行配置。CERN提供各種不同的容器技術(shù),包括Kubernetes、Docker Swarm和DC / OS。
  CERN目前在OpenStack之上運(yùn)行通過(guò)Magnum配置的250個(gè)容器集群。
  CERN的OpenStack云為用戶提供自助服務(wù)訪問(wèn)權(quán),可通過(guò)一些命令或Web GUI請(qǐng)求配置好的容器引擎。這允許快速利用這些技術(shù),并且如果需要可以擴(kuò)展到1000個(gè)節(jié)點(diǎn)?商峁⿴в袃(nèi)置監(jiān)控并集成到CERN存儲(chǔ)和身份驗(yàn)證服務(wù)的最佳實(shí)踐配置。
  有效地運(yùn)行此資源池,在不需要額外操作人力的情況下擴(kuò)展它需要一致的管理流程和工具。通過(guò)Magnum在OpenStack之上添加容器使服務(wù)能夠使用先前開(kāi)發(fā)的自動(dòng)化,例如硬件修復(fù)過(guò)程和一致的授權(quán)模型,同時(shí)根據(jù)用戶需求快速重新分配資源。
  CERN是一個(gè)公共資助的實(shí)驗(yàn)室,Kubernetes和OpenStack等開(kāi)源解決方案提供了一個(gè)框架,使其可以與其他組織協(xié)作并回饋社區(qū)。CERN通過(guò)CERN openlab框架與眾多供應(yīng)商合作,提供帶有多種功能的大規(guī)模云。這些經(jīng)驗(yàn)也通過(guò)OpenStack特殊興趣小組與其他科學(xué)如Square Kilometer Array(SKA)、公共演示文稿(如Kubecon Europe)和博客(如OpenStack in Production)共享。
  在CERN,幾個(gè)工作負(fù)載在Magnum提供的容器內(nèi)運(yùn)行,包括:
  Reana /Recast
  這些工具為在高能物理中執(zhí)行可重復(fù)使用的工作流程提供了框架。容器能夠?qū)⒎治鲕浖蛿?shù)據(jù)打包在一個(gè)易于共享的單元中,并且可以輕松擴(kuò)展內(nèi)部部署和使用外部資源。接下來(lái)的工作為基于Yadage Workflows的Kubernetes作業(yè),支持分析和數(shù)據(jù)保存活動(dòng)。
  Spark即服務(wù)
  最近,Kubernetes被添加為Spark的資源管理器。Spark可以生成驅(qū)動(dòng)程序和執(zhí)行程序,而pod和Kubernetes負(fù)責(zé)調(diào)度和生命周期。CERN IT部門(mén)的一個(gè)團(tuán)隊(duì)正在開(kāi)發(fā)一項(xiàng)服務(wù),讓用戶可以使用OpenStack Magnum按需創(chuàng)建Kubernetes集群,并在Kubernetes上部署Spark,以安全的方式提供與CERN專(zhuān)用文件系統(tǒng)和數(shù)據(jù)源的所有必需集成。通過(guò)少量命令,用戶可以有效地創(chuàng)建具有所需大小的Spark部署,僅在需要的時(shí)候創(chuàng)建,并且可以選擇在運(yùn)行的時(shí)候擴(kuò)展或縮小部署。
  用于LHC升級(jí)的LHC實(shí)驗(yàn)檢測(cè)器觸發(fā)模擬
  大型強(qiáng)子對(duì)撞機(jī)將在2020年左右升級(jí)到更高的發(fā)光度。CERN已經(jīng)創(chuàng)建了大規(guī)模Kubernetes集群來(lái)模擬ATLAS實(shí)驗(yàn)的不同方法并驗(yàn)證設(shè)計(jì),從而對(duì)Kubernetes和OpenStack組件進(jìn)行了一些微調(diào)。
  Gitlab持續(xù)集成運(yùn)行器
  Gitlab使用戶能夠構(gòu)建CI / CD作業(yè)并在共享或項(xiàng)目特定的運(yùn)行器上執(zhí)行它們。CERN用戶可以利用CERN Container Service來(lái)測(cè)試和構(gòu)建軟件,構(gòu)建和發(fā)布容器鏡像和文檔,或設(shè)置管理整個(gè)應(yīng)用程序生命周期的復(fù)雜管道,包括自動(dòng)部署到不同的環(huán)境中。
  多個(gè)外部云的Federated Kubernetes compute farm
  CERN使用Kubernetes集群聯(lián)合來(lái)支持多云操作。多個(gè)集群可以無(wú)縫集成在使用不同技術(shù)的云中,包括AWS、GCE和OpenStack云(如CERN和T-Systems Open Telekom Cloud)。
  在單個(gè)框架下集成虛擬機(jī)、容器引擎和裸機(jī),讓用戶可以輕松查看使用情況、所有權(quán)和配額。Kubernetes的Manila存儲(chǔ)驅(qū)動(dòng)程序允許透明地配置文件共享。這支持IT部門(mén)進(jìn)行容量規(guī)劃,支持實(shí)驗(yàn)資源協(xié)調(diào)員確定其工作組的優(yōu)先級(jí)。資源管理策略,如在工作人員離開(kāi)時(shí)重新分配資源或使資源到期,將在一致的工作流程中處理。
  SK Telecom
  SK Telecom(SKT)是韓國(guó)最大的電信運(yùn)營(yíng)商,一直在探索在Kubernetes上部署OpenStack的最優(yōu)方法,目的是將核心業(yè)務(wù)功能應(yīng)用于容器化OpenStack。
  SKT利用Kolla和Openstack-Helm, 部署由Kubespray自動(dòng)完成。SKT將近100%的開(kāi)發(fā)工作投入OpenStack-Helm,并與AT&T密切合作,推動(dòng)OpenStack-Helm的成功。
  SKT還在其關(guān)于Kubernetes上的OpenStack的工作中加入了其他工具。對(duì)于日志記錄、監(jiān)控和警報(bào),SKT使用Prometheus和Elasticsearch、Fluent-bit和Kibana——所有這些都是OpenStack-Helm社區(qū)中的默認(rèn)參考工具。SKT將所有這些組合成一個(gè)名為T(mén)ACO:SKT All Container OpenStack的封閉式集成解決方案。
  SKT將重點(diǎn)放在圍繞容器化的Kubernetes上的Openstack的自動(dòng)化持續(xù)集成/持續(xù)交付(CI / CD)管道。SKT的CI系統(tǒng)包括Jenkins、Rally、Tempest、Docker Registry,以及Jira和Bitbucket。SKT還開(kāi)發(fā)了一個(gè)名為Cookiemonster的開(kāi)源工具——這是一種用于Kubernetes部署的彈性測(cè)試工具,可為其CI管道執(zhí)行彈性測(cè)試。
  每次更改,SKT都會(huì)自動(dòng)構(gòu)建和測(cè)試OpenStack容器和Helm圖表。每天,他們會(huì)自動(dòng)安裝一個(gè)高度可用的OpenStack部署,包含三個(gè)控制節(jié)點(diǎn)和兩個(gè)計(jì)算節(jié)點(diǎn),從Tempest運(yùn)行400個(gè)測(cè)試用例來(lái)驗(yàn)證服務(wù),最后使用Cookiemonster和Rally運(yùn)行彈性測(cè)試。完整的CI系統(tǒng)如下圖所示:
  SKT通過(guò)Airship的子項(xiàng)目Armada實(shí)現(xiàn)自動(dòng)化部署——該項(xiàng)目由AT&T作為一個(gè)新的開(kāi)放式基礎(chǔ)設(shè)施項(xiàng)目在社區(qū)推出。SKT正在社區(qū)中進(jìn)行合作,根據(jù)其生產(chǎn)用途為項(xiàng)目提供增強(qiáng)功能。
  在實(shí)際應(yīng)用中,SKT已經(jīng)看到了在Kubernetes上部署OpenStack的大量好處,包括:簡(jiǎn)單易用的安裝;集群自動(dòng)修復(fù);能夠升級(jí)和更新OpenStack并對(duì)運(yùn)行的服務(wù)影響最;快速采用高級(jí)發(fā)布方法;通過(guò)容器隔離完成Python依賴關(guān)系的自動(dòng)化管理;安全的秘密和配置管理;快速靈活地推出集群更新。
  SKT仍在測(cè)試這種方法,但正在積極地在生產(chǎn)中運(yùn)行OpenStack-Helm部署。很快,SKT將至少擁有三個(gè)生產(chǎn)集群,后續(xù)還有第四個(gè)和最大的生產(chǎn)集群將上線。這些用例包括:大數(shù)據(jù)平臺(tái)、桌面基礎(chǔ)設(shè)施架構(gòu)平臺(tái)、通用內(nèi)部私有云、基于虛擬網(wǎng)絡(luò)功能構(gòu)建的電信網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
  SKT還試圖通過(guò)利用容器化的VNF并利用容器的自動(dòng)修復(fù)和快速擴(kuò)展功能來(lái)改善電信基礎(chǔ)設(shè)施運(yùn)維的自動(dòng)化。為了允許基于虛擬機(jī)的VNF和容器化VNF之間的交互,Simplified Overlay Network(SONA)——OpenStack的虛擬網(wǎng)絡(luò)解決方案,將支持VM和容器之間的通信。 SONA使用Kuryr項(xiàng)目集成OpenStack和Kubernetes,并使用軟件定義的網(wǎng)絡(luò)技術(shù)優(yōu)化網(wǎng)絡(luò)性能。
  總的來(lái)說(shuō),SKT發(fā)現(xiàn)Kubernetes有助于解決部署和運(yùn)維OpenStack的許多復(fù)雜問(wèn)題。簡(jiǎn)化OpenStack為他們提供了一種強(qiáng)大的方法,可以為5G時(shí)代提供先進(jìn)的基礎(chǔ)設(shè)施創(chuàng)新。Kubernetes上的Openstack,大大提高了他們應(yīng)對(duì)容器中微服務(wù)不斷演變的能力,成為提供人工智能、物聯(lián)網(wǎng)和機(jī)器學(xué)習(xí)的關(guān)鍵基礎(chǔ)設(shè)施。
  Superfluidity
  Superfluidity項(xiàng)目由來(lái)自12個(gè)歐洲國(guó)家的18個(gè)合作伙伴組成。它旨在增強(qiáng)實(shí)時(shí)實(shí)例化服務(wù)的能力,在網(wǎng)絡(luò)中的任何位置運(yùn)行它們,并將它們透明地轉(zhuǎn)移到不同的位置。SUPERFLUIDITY是一個(gè)歐洲研究項(xiàng)目(Horizon 2020),旨在通過(guò)利用和擴(kuò)展知名的開(kāi)源項(xiàng)目,為5G網(wǎng)絡(luò)構(gòu)建基礎(chǔ)設(shè)施模塊。SUPERFLUIDITY將提供融合的基于云的5G概念,可在移動(dòng)邊緣實(shí)現(xiàn)創(chuàng)新用例,增強(qiáng)新業(yè)務(wù)模式,并降低投資和運(yùn)維成本。
  為了實(shí)現(xiàn)這些目標(biāo),項(xiàng)目聯(lián)盟正在從傳統(tǒng)的基于VM的應(yīng)用程序轉(zhuǎn)移到Cloud Native容器化應(yīng)用程序。 Kuryr是OpenStack虛擬機(jī)、Kubernetes和OpenShift容器化服務(wù)之間的橋梁。
  該項(xiàng)目利用ManageIQ作為中央網(wǎng)絡(luò)功能虛擬編排器(NFVO),Ansible來(lái)進(jìn)行Application部署和生命周期管理,OpenStack服務(wù)(包括Heat,Neutron和Octavia,以及Kubernetes)通過(guò)OpenShift實(shí)現(xiàn)虛擬機(jī)和容器的集成。
  通過(guò)利用從ManageIQ設(shè)備執(zhí)行的Ansible playbooks,SUPERFLUIDITY提供了一種部署應(yīng)用程序的常用方法。這些應(yīng)用程序反過(guò)來(lái)使用OpenStack Heat模板和OpenShift模板提供的云編排功能。
  該聯(lián)盟在容器內(nèi)部署5G云無(wú)線接入網(wǎng)絡(luò)(CRAN)和移動(dòng)邊緣計(jì)算(MEC)組件。它還在分布式基礎(chǔ)架構(gòu)之上部署高吞吐量應(yīng)用程序,如視頻流。
  轉(zhuǎn)向應(yīng)用程序交付的云原生方法可實(shí)現(xiàn)快速、靈活的SUPERFLUIDITY安裝。它可以實(shí)現(xiàn)從基于VM的應(yīng)用程序和組件到容器的平穩(wěn)過(guò)渡,同時(shí)保留為某些特定應(yīng)用程序啟用VM的多功能性。例子是單路輸入/輸出虛擬化(SRIOV)所需的特殊安全保護(hù)或網(wǎng)絡(luò)加速。
  在大規(guī)模性能測(cè)試中,SUPERFLUIDITY能夠以22個(gè)pod/秒的速度啟動(dòng)大約1000個(gè)容器。通過(guò)在OpenStack管理的VM上運(yùn)行OpenShift實(shí)現(xiàn)了這一卓越的性能,其中Kuryr充當(dāng)pod網(wǎng)絡(luò)驅(qū)動(dòng)程序。
  IV  結(jié)論
  在過(guò)去幾年中,隨著容器成為開(kāi)發(fā)人員和組織的重要工具,OpenStack利用其模塊化設(shè)計(jì)和廣泛的社區(qū)將容器技術(shù)集成到多個(gè)層面。 這體現(xiàn)在,各種組織將容器和OpenStack投入生產(chǎn),以及與容器一起工作以提供新功能的項(xiàng)目數(shù)量越來(lái)越多上。OpenStack基金會(huì)致力于確?梢栽贠penStack中整合和使用新興技術(shù),而容器則是該承諾的重要例子。
  原文鏈接:
  https://www.openstack.org/containers/leveraging-containers-and-openstack/
  獲取更多開(kāi)源云技術(shù)資訊&大咖交流&免費(fèi)活動(dòng),歡迎添加開(kāi)源云中文社區(qū)小助手,備注開(kāi)源云!
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專(zhuān)題

CTI論壇會(huì)員企業(yè)