容器化技术包含运行数据中心应用程序所需的所有组件,但它需要的存储更少,并且比传统软件包更容易安装在服务器。
在确定如何部署容器前,你必须首先确定容器类型。对于附带软件的容器,你可能选择Docker容器,因为Docker是容器市场的主要产品。你可能还会考虑rkt和systemd,具体取决于容器应用程序和系统要求。
Rkt是CoreOS的一部分,它是完全开源的产品。Systemd容器不提供Docker的所有功能,但它易于部署并可自动安装在Linux操作系统中。Systemd提供套接字激活和nspawn容器,使你可以在容器中运行多个进程。
图源:图虫创意
支持容器网络
如果你想要运行少数Docker容器,则不需要太多,使用Linux服务器来安装容器引擎。该守护进程在Linux内核上运行,并允许你在Linux机器上运行容器。
Docker企业版适用于所有Linux类型,随发行版存储库一起安装。然而,只是运行容器引擎不会提供任何冗余,这仅适用于小型和非关键型工作负载。
如果你想要在容器技术中获得可扩展性和冗余,则需要使用容器编排工具。编排设置可能包含CoreOS,这是小化的Linux操作系统,其目的只有一个:尽可能高效地运行容器。
CoreOS设置由多台主机组成,这些主机共享有关任何活跃容器的信息,并确保服务器的高可用性。如果服务器或容器中出现任何问题,总会有另一个节点来继续接管工作负载。
容器编排的另一个众所周知的选择是Kubernetes。Kubernetes运行在容器引擎之上,其目的是确保你始终拥有足够的容器以保证正常持续运行。你可在物理或虚拟服务器上的数据中心中安装Kubernetes,但必须使用几台服务器以确保处理连续性和可扩展性。
还有一种方法是在数据中心外的私有云或公共云运行容器。所有主要公共云提供商都提供容器引擎,目前Kubernetes已迅速成为公共云中的标准。如果容器需要提供给世界各地的用户使用,那么公共云可能是选择。