Kubernetes管理:看看EBay的蜜汁配方
世界***企業(yè)之一的EBay公司計劃在下個季度為OpenStack和Kubernetes管理向開源社區(qū)提供其方案。
電子商務(wù)巨頭eBay公司擁有著世界***OpenStack私有云中的一個。自從2015年以來,公司已經(jīng)將Kubernetes容器編排與管理推廣至擁有六個可用區(qū)域22,000個CPU內(nèi)核的應(yīng)用場景中,以便支持178個應(yīng)用程序,其中包括了Elasticsearch搜索引擎、Apache Kafka分布式流量控制與人工智能(AI)平臺。
為了逐步實現(xiàn)其計劃,eBay公司的工程師們開發(fā)了專門的軟件以便在其OpenStack私有云上實現(xiàn)Kubernetes集群部署與管理的自動化。這個被稱為TessMaster的工具于2016年底被eBay公司***公開討論,但是在本月召開的OpenStack峰會上公司正式推出了這個項目,并表示公司將在下個季度公開其源代碼。
SearchITOperations.com約到了eBay公司云基礎(chǔ)設(shè)施與平臺高級總監(jiān) Suneet Nandwani(他在OpenStack峰會上發(fā)表了演講),讓他來介紹下在Kubernetes管理中使用TessMaster的一些細(xì)節(jié)。
TessMaster在OpenStack和Kubernetes中的明確定位是什么?
Suneet Nandwani:我們開發(fā)了這個工具以便在OpenStack上管理Kubernetes的生命周期。使用TessMaster,我們能夠部署Kubernetes、增加容量或減少容量以防發(fā)生故障或Kubernetes節(jié)點數(shù)量下降,同時我們還能夠搭建Kubernetes網(wǎng)絡(luò)。我們以Kubernetes管理為目標(biāo)開發(fā)了這個工具,所支持的平臺不僅有OpenStack,而且還包括了一些其他的云供應(yīng)商,例如谷歌云(平臺)、亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)以及微軟Azrue。
雖然我們所討論的內(nèi)容大部分都是關(guān)于Kubernetes管理的,TessMaster的開發(fā)初衷遠(yuǎn)不止如此。我們打算使用TessMaster來管理我們數(shù)據(jù)中心中的一大部分,因為它是可擴展的。所以我們可以使用它來完成一些管理工作,如網(wǎng)絡(luò)配置、板載機架、以及設(shè)置負(fù)載平衡器。自從我們開始使用TessMaster以來,我們員工的工作會變得更為優(yōu)雅和輕松,我們使用它來管理其他的基礎(chǔ)設(shè)施,也就是那些在我們云下更底層次的東西。
今天,Kubernetes中所有的東西都失蹤了?
Nandwani:Kubernetes不具備與云供應(yīng)商集成的能力。他們把它留給了實際使用它的人。Kubernetes完全不支持在OpenStack或其他眾多公共云上部署Kubernetes。在Kubernetes社區(qū)中,事情往往是呈碎片化的,但是人們已經(jīng)想出了各自的解決方法。例如,谷歌為用戶提供了一個Kubernetes的完全托管實例,從而讓用戶無需處理這個問題。但是,我們不希望使用谷歌在他們的云平臺上提供的vanilla Kubernetes堆棧。我們希望運行我們自己的Kubernetes實例,因為我們將為eBay的業(yè)務(wù)補充一點東西,同時我們希望在私有云和公共云上運行相同的Kubernetes。
現(xiàn)在也出現(xiàn)了其他的開源工具,例如Kolla和kops,還有一些廠商也在相同領(lǐng)域開展競爭。TessMaster的設(shè)計有點不同,因為它是一個Kubernetes應(yīng)用程序,它使用Kubernetes來管理Kubernetes。它是自我引導(dǎo)的。Kubernetes 有很多關(guān)于聲明性、防漂移、自我修復(fù)和修復(fù)的良好原則,所以我們能夠為Kubernetes本身利用好它。
為什么要做一個獨立的項目?為什么不向Kubernetes或OpenStack貢獻(xiàn)這個IP?
Nandwani:我們確實有一個將這個IP貢獻(xiàn)回來的計劃。TessMaster這個工具是作為一個內(nèi)部需求而產(chǎn)生的。我們將與云本地計算基金會甚至OpenStack基金會進(jìn)行溝通,但是無論我們最終決定把它放在哪里它都是一個單獨的項目。它不是核心Kubernetes。
諸如Azure這樣的公共云不是已經(jīng)對Kubernetes有了他們自己的支持嗎?
Nandwani:當(dāng)使用Azure的Kubernets時,用戶有義務(wù)使用Azure提供的任何配置。特別對于那些運行混合云的公司來說,用戶不希望在公共云和私有云裳使用不同風(fēng)格的Kubernetes。我們在Azure上得到的Kubernetes并不適合我們使用。TessMaster允許我們靈活地使用我們自己的Kubernetes定制版,那才對eBay有價值。
我們的變更管理數(shù)據(jù)庫是非常重要的,因為任何在我們Kubernetes集群上運行的應(yīng)用程序都會自動填充到我們的CMDB中。我們還集成了我們自己的日志記錄與監(jiān)控平臺,我們希望在公共云和內(nèi)部云上都運行相同的日志記錄與監(jiān)控功能。除非用戶是一家中小型企業(yè),否則一個通用的東西是無法滿足所有人的需求的,甚至對于那些與我們公司規(guī)模類似的企業(yè)來說,那是無法正常運行的。
您是如何讓其他企業(yè)能夠使用TessMaster的?EBay公司擁有的規(guī)模遠(yuǎn)超其他大多數(shù)的環(huán)境。
Nandwani:如果用戶在一個內(nèi)部云上運行Kubernetes,那么他仍然需要解決更小規(guī)模企業(yè)遇到的問題。用戶有選擇,他們看可以使用kops 或 Kolla或者一些其他的Kubernetes工具,但是我認(rèn)為TessMaster擁有著一些比其他同類工具更多的固有優(yōu)點。事實上,我們之前曾經(jīng)調(diào)研過很多這類工具,結(jié)果我們發(fā)現(xiàn)它們都無法滿足我們的需求。我們重點考察的基本條件之一就是防漂移。這意味著我們有一個大小規(guī)模已知的Kubernetes集群,然后我們又有了在環(huán)境中的實際集群規(guī)模,用戶需要自動對它們進(jìn)行調(diào)節(jié)。那就是TessMaster所賦予我們的。
您看過Red Hat OpenShift嗎?
Nandwani:我們有看過。OpenShift主要用于在Kubernetes上運行的應(yīng)用程序的生命周期管理,但是我們正在管理Kubernetes本身。
eBay是否會繼續(xù)使用OpenStack,還是會最終使用TessMaster來取代它?
Nandwani:我們將在OpenStack基礎(chǔ)之上運行Kubernetes,就如同谷歌在他們云基礎(chǔ)設(shè)施上運行或Azure在他們云平臺上運行一樣。我們的Kubernetes位于OpenStack之上,我們能夠看到可編程基礎(chǔ)設(shè)施的價值所在,所以并不打算拋棄它。