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