什么是面向容器的集群和节点?

时间:2020-02-20 10:30:03

标签: docker docker-compose containers

很抱歉这个问题,但是我只是从 Docker和Docker Compose 开始,直到我得知需要使用 Docker Swarn或Kuebernetes < / strong>,以提高生产的稳定性。我开始阅读有关Docker Swarn的文章,他们提到了节点和集群。

我很高兴不了解docker-compose

我可以从一个文件管理我的服务/容器 只需运行几个命令即可启动,构建,删除等。 我所有的服务都基于docker-compose配置。

但是现在节点和集群出现了,我真的发疯了,这就是为什么如果您能帮助我了解容器生命中的下一步的原因。我一直在谷歌搜索,对我来说还不太清楚。

希望您能帮助我,并以我能理解的方式向我解释。

谢谢!

2 个答案:

答案 0 :(得分:1)

节点只是一台物理机或虚拟机。
在Kubernetes / Docker Swarm上下文中,每个节点都必须安装相关的二进制文件(Docker Engine,kubelet等。)

集群是一个或多个节点的分组。

如果您刚刚在本地计算机上进行测试,则只有一个节点

如果您要添加第二台计算机并使用 docker swarm / kubernetes 将两台计算机链接在一起,那么您将创建一个 2节点集群

然后,您可以使用 docker swarm / kubernetes 集群中的任何或所有节点上运行服务/容器 < / strong>。这样可以使您的服务更具弹性和容错能力。

答案 1 :(得分:1)

默认情况下,Docker Compose在单个系统上运行一组容器。如果您需要运行超出一个系统容量的更多容器,或者只是担心该系统崩溃,则需要多个系统来完成该任务。 集群是一起运行容器的所有系统(物理计算机,虚拟机,云实例)的组。每个单独的系统都是一个节点

集群容器设置的另一个重要部分是,您通常可以运行一个给定容器的多个副本,而不必关心它们在集群中的何处运行。假设您有五个节点和一个Web服务器容器,并且您想运行它的三个副本以实现冗余。不必选择一个节点,ssh到该节点并在那里手动docker run,您只需告诉集群管理器“为我运行其中的三个”,然后它选择一个节点并为您启动容器。您还可以在运行时上下缩放容器,或者可能将群集设置为根据负载自行进行缩放。

如果您的工作负载可以在单个服务器上运行容器的单个副本,则不需要群集设置。 (在更新过程中,或者如果单个服务器死机,您可能会有一些停机时间。)Swarm具有与Docker捆绑在一起并且能够使用Docker本地工具的优势(docker-compose可以部署到Swarm集群)。 Kubernetes要复杂得多,但是到了这一点,大多数公共云提供商都会向您出售预配置的Kubernetes集群,并且它具有有关安全性,存储管理和自动扩展的更好的故事。还有其他一些不太重要的替代方案,例如Nomad和Mesos。