在確定如何部署容器前,你必須首先確定容器類型。對(duì)于附帶軟件的容器,你可能選擇Docker容器,因?yàn)镈ocker是容器市場(chǎng)的主要產(chǎn)品。你可能還會(huì)考慮rkt和systemd,具體取決于容器應(yīng)用程序和系統(tǒng)要求。
Rkt是CoreOS的一部分,它是完全開源的產(chǎn)品。Systemd容器不提供Docker的所有功能,但它易于部署并可自動(dòng)安裝在Linux操作系統(tǒng)中。Systemd提供套接字激活和nspawn容器,使你可以在容器中運(yùn)行多個(gè)進(jìn)程。
支持容器網(wǎng)絡(luò)
如果你想要運(yùn)行少數(shù)Docker容器,則不需要太多,最好使用Linux服務(wù)器來(lái)安裝容器引擎。該守護(hù)進(jìn)程在Linux內(nèi)核上運(yùn)行,并允許你在Linux機(jī)器上運(yùn)行容器。
Docker企業(yè)版適用于所有Linux類型,隨發(fā)行版存儲(chǔ)庫(kù)一起安裝。然而,只是運(yùn)行容器引擎不會(huì)提供任何冗余,這僅適用于小型和非關(guān)鍵型工作負(fù)載。
如果你想要在容器技術(shù)中獲得可擴(kuò)展性和冗余,則需要使用容器編排工具。編排設(shè)置可能包含CoreOS,這是最小化的Linux操作系統(tǒng),其目的只有一個(gè):盡可能高效地運(yùn)行容器。
CoreOS設(shè)置由多臺(tái)主機(jī)組成,這些主機(jī)共享有關(guān)任何活躍容器的信息,并確保服務(wù)器的高可用性。如果服務(wù)器或容器中出現(xiàn)任何問題,總會(huì)有另一個(gè)節(jié)點(diǎn)來(lái)繼續(xù)接管工作負(fù)載。
容器編排的另一個(gè)眾所周知的選擇是Kubernetes。Kubernetes運(yùn)行在容器引擎之上,其目的是確保你始終擁有足夠的容器以保證正常持續(xù)運(yùn)行。你可在物理或虛擬服務(wù)器上的數(shù)據(jù)中心中安裝Kubernetes,但必須使用幾臺(tái)服務(wù)器以確保處理連續(xù)性和可擴(kuò)展性。
還有一種方法是在數(shù)據(jù)中心外的私有云或公共云運(yùn)行容器。所有主要公共云提供商都提供容器引擎,目前Kubernetes已迅速成為公共云中的標(biāo)準(zhǔn)。如果容器需要提供給世界各地的用戶使用,那么公共云可能是最佳選擇。