鄭冰
摘要:本文基于容器技術(shù)和Kubernetes的內(nèi)涵、Kubernetes高可用集群的部署、基于Kubernetes的企業(yè)級容器云平臺設(shè)計、最后對該平臺進(jìn)行功能測試與應(yīng)用進(jìn)行了闡述,為基于Kubernetes的企業(yè)級容器云平臺設(shè)計提供一定的參考價值。
關(guān)鍵詞:Kubernetes;企業(yè)級容器;云平臺;高可用
中圖分類號:TP393.09 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)06-0138-01
1 容器技術(shù)和Kubernetes的內(nèi)涵
容器的英文為Container,原始的含義是集裝箱。其實(shí)容器技術(shù)正是來源于集裝箱運(yùn)輸?shù)乃枷搿_^去海上運(yùn)輸貨物類型很多,運(yùn)輸和裝卸船效率低。為了提高運(yùn)輸效率,集裝箱都誕生了。在一艘船上,無論是衣服、奶粉、甚至汽車,只要裝在標(biāo)準(zhǔn)的集裝箱中,船東無需關(guān)心集裝箱內(nèi)的貨物,用標(biāo)準(zhǔn)的運(yùn)輸方式進(jìn)行托運(yùn)和裝卸作業(yè),極大提高了運(yùn)輸效率。正是借鑒了集裝箱運(yùn)輸?shù)乃枷?,容器技術(shù)也誕生了。在此之前,部署一個應(yīng)用至少先需要物理環(huán)境,然后是操作系統(tǒng),之后還有各種中間件環(huán)境,最后才能部署應(yīng)用,部署人員和開發(fā)人員都需要費(fèi)時費(fèi)力的管理。后來的虛擬化部署一定程度上解決了硬件資源的最大化利用,但并沒有解決應(yīng)用層面的問題,每次應(yīng)用部署還是需要搭建一套依賴的應(yīng)用環(huán)境。由于虛擬技術(shù)使得各自還擁有自己的OS,導(dǎo)致性能也并不理想。Container容器技術(shù)的誕生解決了技術(shù)領(lǐng)域的“集裝箱運(yùn)輸”的問題,利用NameSpace做隔離,對應(yīng)用進(jìn)行打包,通過容器引擎,共享一個操作系統(tǒng),達(dá)到了良好的性能指標(biāo),實(shí)現(xiàn)了Build Once,Run Everywhere,節(jié)省了巨大的人力成本,提高運(yùn)維效率。
2 Kubernetes高可用集群的部署
首先對環(huán)境進(jìn)行部署,對各個節(jié)點(diǎn)安裝環(huán)境。Kubernetes集群中的節(jié)點(diǎn)的主要組成部分包括Eted服務(wù)器、應(yīng)用節(jié)點(diǎn)以及Kubernetes API服務(wù)器。Kubernetes系統(tǒng)的總體結(jié)構(gòu)框架圖如圖1所示。從圖1可以看到,為了實(shí)現(xiàn)高可用,Eted服務(wù)和Kubernetes API服務(wù)部署在相同節(jié)。在實(shí)際的操作系統(tǒng)中,一般可將Eted服務(wù)和Kubernetes API服務(wù)安裝在不同節(jié)點(diǎn),這樣可以保證更好地隔離硬件,但是這樣也存在一個缺點(diǎn)就是使整個系統(tǒng)的維護(hù)成本很高,因此在這里我們?yōu)榱斯?jié)約成本,將Eted 服務(wù)和Kubernetes API服務(wù)部署在三個一樣節(jié)點(diǎn)上。系統(tǒng)中各個節(jié)點(diǎn)的運(yùn)行環(huán)境操作系統(tǒng)均是CentOS7.4。
3 基于Kubernetes的企業(yè)級容器云平臺設(shè)計
3.1 容器云平臺設(shè)計方向
在進(jìn)行企業(yè)容器平臺的設(shè)計時,需要明設(shè)計方向。首先,需要保證Kubernetes容器平臺與IaaS層的集成。其次是需要平臺需要一定的彈性和可伸縮性,不管任何一個云平臺,平臺內(nèi)資源的彈性伸縮對資源的利用率都有很大的影響,所以解決資源云平臺中資源的彈性伸縮顯得十分重要。Kubernetes容器云平臺由于目前科學(xué)技術(shù)的限制,目前還沒有形成一個完整的資源可伸縮體系來適用于Kubernetes平臺。因此我們需要構(gòu)件一個容器云以保證資源的彈性伸縮體系系統(tǒng)能夠完全地使該系統(tǒng)的功能被廣大使用者使用,最后容器云的平臺的設(shè)計目標(biāo)是需要保證多集群跨可用區(qū)的部署以及管理,減少容器云單數(shù)據(jù)中心部署可能會增加的單點(diǎn)故障風(fēng)險。
3.2 整體系統(tǒng)框架設(shè)計
云平臺整體系統(tǒng)平臺設(shè)計主要包括基礎(chǔ)設(shè)施集成模塊、多集群可用管理模塊、容器云平臺資源可擴(kuò)展模塊三部分?;A(chǔ)設(shè)施集成模塊主要是負(fù)責(zé)實(shí)現(xiàn)Kubernetes系統(tǒng)有關(guān)的IaaS層相關(guān)服務(wù)的功能,Kubernetes系統(tǒng)主要的功能包括集群節(jié)點(diǎn)管理、整個云容器平臺的數(shù)據(jù)存儲、云平臺服務(wù)外部負(fù)載均衡性。
3.3 云控制管理器設(shè)計與實(shí)現(xiàn)
云控制管理器主要可以實(shí)現(xiàn)兩方面的功能即集群節(jié)點(diǎn)管理和服務(wù)、服務(wù)云容器外部負(fù)載的均衡裝置。在云容器中云集群節(jié)點(diǎn)管理和服務(wù)外部負(fù)載均衡器這兩個方面的功能是相互獨(dú)立的,所以在實(shí)際的云容器控制管理過程中我們需要使用兩個子控制器將其進(jìn)行分開管理。
3.4 容器存儲模塊設(shè)計與實(shí)現(xiàn)
Kubernetes數(shù)據(jù)卷存儲機(jī)制是將Volume像pod一樣設(shè)計成具有一個完整的生命周期,包括從最開始的創(chuàng)建以及后面的掛載、刪除等,云容器的存儲系統(tǒng)都能夠通過掛載技術(shù)掛載進(jìn)云容器以便整個云容器系統(tǒng)能夠方便快捷的使用。很多的Kubernetes云容器平臺系統(tǒng)支持實(shí)現(xiàn)多種后端存儲方案,能夠存儲很多種類的動態(tài)信息。
4 功能測試與應(yīng)用
可以利用SysBench工具進(jìn)行的相關(guān)研究和測試。在實(shí)踐中,根據(jù)企業(yè)建設(shè)容器云服務(wù)平臺的前后對比可以發(fā)現(xiàn),Kubernetes和Docker容器云平臺相對于傳統(tǒng)的Docker架構(gòu)模式,其容器服務(wù)實(shí)現(xiàn)了高冗余的群集化管理模式,Kubernetes容器平臺提供了更高效的彈性收縮性能以及一套易于對接服務(wù)的RESTfull API。Kubernetes容器云服務(wù)平臺的管理、伸縮性以及整個容器平臺的性能提到了很大的提升,說明采用Kubernetes的企業(yè)級容器服務(wù)平臺是可行的。
5 結(jié)語
隨著微服務(wù)技術(shù)的不斷進(jìn)步,基于Kubernetes容器的企業(yè)級云平臺的應(yīng)用將會越來越廣泛,我們針對Kubernetes操作系統(tǒng)的高可用集群部署技術(shù)做了詳細(xì)的研究,將復(fù)雜的Kubernetes集群部署進(jìn)行了設(shè)計的流程化,通過對該系統(tǒng)進(jìn)行性能測試,可以發(fā)現(xiàn)該云平臺設(shè)計是合理的,為最新的Kubernetes容器企業(yè)級云平臺提供了一定的參考價值。
參考文獻(xiàn)
[1] 盛樂標(biāo),周慶林,游偉倩,等.Kubernetes高可用集群的部署實(shí)踐[J].電腦知識與技術(shù),2018,14(26):40-43.
[2] 陳金光.基于阿里云的Kubernetes容器云平臺的設(shè)計與實(shí)現(xiàn)[D].浙江大學(xué),2018.
Design of Enterprise Container Cloud Platform Based on Kubernetes
ZHENG Bing
(COSCO Maritime Container Transportation Co., Ltd., Shanghai 200090)
Abstract:Based on the connotation of container technology and Kubernetes, the deployment of Kubernetes high-availability cluster, the design of enterprise container cloud platform based on Kubernetes, and the functional testing and application of the platform are described in this paper, which provides some reference value for the design of enterprise container cloud platform based on Kubernetes.
Key words:Kubernetes;enterprise containers;cloud platform;high availability