在今天DevOps驅動(dòng)的環(huán)境中,通過(guò)將應用程序作為微服務(wù)交付,企業(yè)可以更快地提供功能。將單體應用程序拆分為基于容器的多個(gè)可移植片段通常是大多數企業(yè)的數字化轉型戰略的重頭。虛擬機,在上個(gè)世紀90年代末期就已經(jīng)出現,以IaaS交付,它是一種抽象硬件,提供在容錯性、可編程性和工作負載可擴展性上的增強特性。
盡管大大小小的企業(yè)IT都在急于將應用重構為微服務(wù),但實(shí)際上IaaS已經(jīng)被證明并且經(jīng)常用于補充基于容器的工作負載:
- 我們一直將IaaS層視為基礎架構的抽象,提供管理和整合不同物理資源的標準方法。資源抽象是當今大多數容器在虛擬機內運行的諸多原因之一。
- 今天的分布式應用程序包括Cattles和Pets。在不過(guò)度泛化的情況下,寵物工作負載往往是“手工喂養”的,并且往往對與容器不兼容的傳統操作系統有很大的依賴(lài)性。因此,對于大多數企業(yè)來(lái)說(shuō),寵物工作負載將繼續作為虛擬機運行。
- 雖然容器化NFV工作負載有相當多的好處,但目前的容器實(shí)現還不足以滿(mǎn)足100%的NFV工作負載需求。有關(guān)更多詳細信息,請參閱IETF報告。
- 能夠對需要多個(gè)環(huán)境進(jìn)行不同測試的開(kāi)發(fā)/測試工作負載的容器主機進(jìn)行“適當大小”調整。
隨著(zhù)時(shí)間的推移,兩種技術(shù)已經(jīng)被證明是相輔相成,而非相互排斥。只要存在傳統的工作負載和更好的管理和整合不同的物理資源的需求,虛擬機(IaaS)將會(huì )共存以補充容器。
OpenStack IaaS和Kubernetes容器編排
這是一個(gè)多云世界,而OpenStack是這個(gè)世界的重要組成部分。從數據中心到NFV,由于其獨立于供應商的API的豐富性,OpenStack云正在部署以滿(mǎn)足企業(yè)在私有云數據中心中提供公有云(如IaaS消費)的需求。
通過(guò)提供K8S范圍之外的以下服務(wù),OpenStack將是K8S的完美補充。在大多數情況下,Kubernetes部署可以利用相同的OpenStack組件來(lái)簡(jiǎn)化部署或優(yōu)化開(kāi)發(fā)體驗:
- 多租戶(hù):利用 OpenStack 項目創(chuàng )建 K8S 集群。開(kāi)發(fā)團隊可以完全控制項目中的集群資源,并且對其他開(kāi)發(fā)團隊或項目的可視性為零。
- 基于 HW 分離的基礎設施使用情況:IT部門(mén)往往是整個(gè)組織的開(kāi)發(fā)團隊的核心代理人。如果開(kāi)發(fā)團隊A被分配了X臺服務(wù)器,B團隊獲得了Y臺服務(wù)器,則OpenStack Scheduler可以確保K8S群集資源準確映射到分配給各個(gè)開(kāi)發(fā)團隊的硬件上。
- 基于配額的基礎設施分配:決定分配給哪些用例,每個(gè)用例多少基礎設施,可能會(huì )非常棘手。組織也可以利用OpenStack配額系統來(lái)控制基礎設施的使用。
- 集成用戶(hù)管理:由于大多數K8S開(kāi)發(fā)者也是IaaS消費者,所以利用keystone后端簡(jiǎn)化了K8S集群和命名空間共享的用戶(hù)驗證。
- 容器存儲持久性:由于K8S容器不耐用,存儲持久性是大多數有狀態(tài)工作負載的要求。在利用OpenStack Cinder后端時(shí),存儲卷將在相同或不同節點(diǎn)重新啟動(dòng)后自動(dòng)重新連接。
- 安全性:對于大多數企業(yè)和 NFV 應用來(lái)說(shuō),VM和容器還將繼續共存。因此提供統一的安全監控至關(guān)重要。利用Neutron與行業(yè)領(lǐng)先的SDN控制器(如VMware NSX-T)進(jìn)行集成,可以簡(jiǎn)化容器安全插入和實(shí)施。
- 容器控制平面靈活性:K8S HA要求多主機負載均衡和可伸縮工作節點(diǎn)。與OpenStack集成時(shí),就像利用LBaaSv2來(lái)實(shí)現主節點(diǎn)負載均衡一樣簡(jiǎn)單。工作站節點(diǎn)可以使用OpenStack原生工具進(jìn)行擴展和縮減。通過(guò)VMware Integrated OpenStack(VIO),K8S工作站節點(diǎn)還可以使用VM實(shí)時(shí)調整大小功能來(lái)垂直擴展。
下一步
我將利用VMware Integrated OpenStack(VIO)來(lái)提供這種在heaven完美匹配的例子。這個(gè)博客是四部分博客系列的第一部分:
- OpenStack和容器更好地合作(本文)
- 如何將您的K8S與您的OpenStack部署集成
- 將容器和虛擬機視為網(wǎng)絡(luò )中的“平等的公民”
- 將通用的IaaS和CI / CD工具與K8S集成
本文作者:Xiao Gao,VMware OpenStack高級技術(shù)營(yíng)銷(xiāo)經(jīng)理。Xiao Gao 擁有DevOps、數據中心設計和軟件定義網(wǎng)絡(luò )的工作背景。擁有CCIE認證#3000,并已在安全和云領(lǐng)域提出多項專(zhuān)利。
后記:
OpenStack與Kubernetes共生已經(jīng)形成越來(lái)越多的共識,OpenStack和Kubernetes技術(shù)融合話(huà)題的關(guān)注度不斷上漲,當前全球來(lái)看,包括Redhat、Mirantis等在內的開(kāi)源企業(yè)都同時(shí)具備有OpenStack和Kubernetes(K8S)產(chǎn)品,而在國內,開(kāi)源云計算公司EasyStack于今年3月首家發(fā)布了基于Kubernetes技術(shù)的容器產(chǎn)品EKS(EasyStack Kubernetes Service)。OpenStack和Kubernetes相輔相成,相互補充已經(jīng)被越來(lái)越多的企業(yè)證實(shí)。開(kāi)源云中文社區編輯參與了該文章的編譯,但不代表贊同文章中所有觀(guān)點(diǎn)。虛擬機和容器可以共存,更進(jìn)一步說(shuō),二者應該共存于基于OpenStack的云管平臺之上。小編了解到,國內用戶(hù)更側重于將虛擬機資源池和容器資源池在物理上分開(kāi)獨立,而規劃上則通過(guò)云管平臺實(shí)現IaaS和PaaS層的統一管理。另外,將容器運行在虛擬機上性能方面是否會(huì )受影響目前在業(yè)內尚無(wú)一致定論。故分享本文,意在拋磚引玉,歡迎各位社區粉絲在本文后留言討論!
原文鏈接:
https://blogs.vmware.com/openstack/openstack-kubernetes-better-together/
活動(dòng)推薦:
Kubernetes全球盛會(huì )來(lái)襲,直擊2017容器年度熱點(diǎn)!報名12月6日微信直播,領(lǐng)取Austin峰會(huì )現場(chǎng)一手資料+12.12KubeCON峰會(huì )熱點(diǎn)訪(fǎng)談直播資料!
