容器即服務(wù)(CaaS)提供了一種設(shè)置容器集群的簡(jiǎn)單方法。選擇正確的CaaS平臺(tái)取決于托管和容器堆棧的靈活性。
由于目前市場(chǎng)上出現(xiàn)了大量容器即服務(wù)或者CaaS,產(chǎn)品,現(xiàn)在很容易安裝和管理Docker環(huán)境(完成編排,圖像注冊(cè)表和更多內(nèi)置)。
本文介紹了CaaS的選擇以及在選擇CaaS選項(xiàng)時(shí)需要注意的事項(xiàng)。
定義容器即服務(wù)
CaaS是企業(yè)將平臺(tái)作為一個(gè)服務(wù)范例并將其應(yīng)用于容器。CaaS被設(shè)計(jì)為一個(gè)用于托管和管理容器化應(yīng)用程序的易于安裝的完整平臺(tái)。
將CaaS視為L(zhǎng)inux發(fā)行版。如果需要,企業(yè)可以采取基于Linux的操作系統(tǒng)創(chuàng)建所需的部分,然后自己構(gòu)建和配置它們?;蛘呖梢允褂孟馛entOS或Ubuntu這樣的Linux發(fā)行版,其中所有的東西都預(yù)先組裝好,可以開箱即用。
容器即服務(wù)的工作方式與此類似。CaaS不是強(qiáng)制用戶設(shè)置運(yùn)行和管理容器集群所需的所有內(nèi)容,而是為用戶提供交鑰匙解決方案。
大多數(shù)CaaS系統(tǒng)由以下核心組件組成:
·支持容器的基于Linux的操作系統(tǒng)。
·容器運(yùn)行時(shí),通常是Docker引擎。
·一個(gè)或多個(gè)容器編排工具,如Kubernetes,Swarm或Mesos。
·用于托管容器映像的容器注冊(cè)表。
值得一提的是,CaaS不同于軟件即服務(wù)或基礎(chǔ)設(shè)施即服務(wù)。CaaS產(chǎn)品不嚴(yán)格限于云計(jì)算的類型,此外,一些CaaS平臺(tái)可以部署在內(nèi)部數(shù)據(jù)中心。
CaaS選項(xiàng)
作為可用的服務(wù)提供的容器列表正在迅速增長(zhǎng)。這里是一些比較知名的平臺(tái):
·亞馬遜彈性容器服務(wù)或ECS,AWS云的CaaS
·微軟Azure容器服務(wù),Azure的CaaS
·谷歌容器引擎
·RancherLabs,一個(gè)可以在云中或內(nèi)部數(shù)據(jù)吣運(yùn)行的CaaS
·Docker數(shù)據(jù)中心,Docker自己的CaaS
·MicroOS,來(lái)自SUSE的新CaaS
選擇CaaS
有了這么多的CaaS產(chǎn)品,用戶如何選擇哪一個(gè)適合自己的產(chǎn)品?以下是需要考慮的重要因素:
·是否要在云中,內(nèi)部數(shù)據(jù)中心或二者都托管CaaS?一些CaaS產(chǎn)品(即AWSECS,Azure容器服務(wù)和谷歌容器引擎)只能在公共云中運(yùn)行。其他產(chǎn)品,如Rancher,可以安裝在云中的內(nèi)部或虛擬服務(wù)器上。OpenShift可能是用戶最靈活的選擇,它可以在內(nèi)部數(shù)據(jù)中心和公共云或私有云中的虛擬服務(wù)器上運(yùn)行,也可以通過(guò)OpenShift在線(RedHat托管的平臺(tái)版本)運(yùn)行。
·要選擇使用哪些組件?一些CaaS選項(xiàng)在選擇使用的協(xié)調(diào)器和注冊(cè)表時(shí)提供了很大的靈活性。例如,Rancher支持所有主要的編排工具。相比之下,OpenShift只適用于Kubernetes,所以如果用戶喜歡Swarm或Mesos,OpenShift不是一個(gè)理想的選擇。
·要運(yùn)行哪個(gè)操作系統(tǒng)?一些CaaS平臺(tái)可以在任何版本的Linux上運(yùn)行。其次Rancher是個(gè)例子,雖然Rancher開發(fā)商提供了一個(gè)特殊的Linux發(fā)行版,RancherOS可用于托管Rancher。如果愿意,用戶可以使用所選擇的任何其他Linux發(fā)行版。其他CaaS平臺(tái)與特定的Linux發(fā)行版綁定。例如,OpenShift僅在RedHatEnterpriseLinux上運(yùn)行。這些差異可能取決于用戶最熟悉的Linux。
有了這么多可用的容器即服務(wù)選項(xiàng),當(dāng)用戶選擇最適合其需求的平臺(tái)時(shí),可以有很多選擇。