docker毫无疑问是一个优秀的开源工具。但是,仅靠docker引擎和容器就不能进行复杂的应用程序部署。对于部署复杂的应用程序体系结构的容器群集,必须进行适当的配置。容器化的应用程序应该能够根据应用程序资源需求进行扩展和缩小。

我们需要一个有效管理容器的良好框架。容器的生命周期很短,在进行容器编排时,要考虑的主要因素是

  1. 联网

  2. 高可用性

  3. 易于部署

  4. 良好的服务发现。

1.Kubernetes

Kubernetes是一个开源的,开箱即用的容器集群管理器和业务流程。它具有出色的构建 调度器 和资源管理器,用于以更有效和高度可用的方式部署容器。Kubernetes已成为许多组织事实上的容器编排工具。kubernetes项目由google与世界各地的贡献者维护。它提供了本机Docker工具不提供的许多功能。而且,使用kubernetes很容易上手。

2.OpenShift

Openshift建立在kubernetes之上。Openshift项目由Redhat维护。它同时具有开源(openshift orgin)和企业版(openshift容器平台)。连同核心的Kubernetes功能,它提供了用于容器管理和编排的开箱即用组件。

3.Docker Swarm

Docker生态系统包括从开发到生产部署框架的工具。在该列表中,docker swarm适用于集群管理。可以使用docker-compose,swarm,overlay网络和良好的服务发现工具(例如etcd或consul)的组合来管理Docker容器集群。

与其他开源容器集群管理工具相比,Docker swarm在功能方面仍日趋成熟。考虑到庞大的Docker贡献者,Docker swarm拥有其他工具拥有的所有最佳功能不会太久。Docker记录了在生产中使用docker swarm 的良好生产计划。

4. Mesos

Mesos是另一个可以非常有效地管理容器编排的群集管理工具。它是由Twitter为其基础架构创建的,然后获得了开源。它已被eBay,Airbnb等公司使用。Mesos并不是用于容器的专用工具,

Mesos不是用于容器的专用工具,相反,您可以将其用于VM或物理机群集,以运行容器以外的工作负载(大数据等)。它具有一个称为Marathon的有效框架,用于在Mesos群集上部署和管理容器。

您实际上可以在Mesos群集上运行Kubernetes群集。查看本指南以了解相同的内容

5.Google Container Engine

GKE 是Google云上的托管容器服务。在后端,GKE使用了kubernetes。您可以在GKE上使用所有kubernetes功能。

6.AWS EKS服务

EKS是AWS的一项托管Kubernetes集群服务。

7.Amazon EC2容器服务

ECS是AWS提供的用于管理容器集群的服务。ECS并非与云无关,因为它在后端使用其专有的群集管理和调度技术。您唯一需要担心的是供应商锁定。

8.Azure AKS服务

Azure Kubernetes服务是Azure的托管高可用性kubernetes服务。

9.Digital Ocean Kubernetes服务

Digital Ocean提供了托管的kubernetes服务以进行部署 基于容器应用程序。您可以从Digital Ocean获得$ 100的免费积分

10.Red Hat OpenShift在线

Openshift在线是Redhat的PaaS产品之一。您可以使用此服务通过openshift在云上部署应用程序。您不必管理群集,因为它是纯PaaS服务。

选择工具或服务完全取决于您的需求和应用程序的复杂性。毫无疑问,许多组织将上述工具和服务用于其生产工作负载。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐