我需要在swarm模式下的所有节点上安装docker吗?

问题描述

我知道这是一个基本问题。但是我是Docker的新手,并且有此查询。 我是否需要在群集模式下的所有节点上安装docker? 如果是这样,我一次可以在所有节点上安装docker的方式是什么?

解决方法

当然,您需要在每个节点上安装Docker及其依赖项。在一个管理器节点上,您需要使用docker swarm init启动集群,然后将其他计算机作为管理器节点或工作程序节点加入。

管理器节点的数量取决于您补偿节点损失的要求:

  • 1个管理者节点:需要1个健康节点
  • 3个管理器节点:需要2个健康节点进行仲裁,可以补偿1个不健康节点
  • 5个管理器节点:需要3个健康节点进行仲裁,可以补偿2个不健康节点
  • 7个管理器节点:需要4个正常运行的节点进行仲裁,可以补偿3个不正常运行的节点
  • 由于开销,建议不要超过7个

使用偶数不能提供更高的可靠性,这是完全相反的。如果您有2个管理器节点,则其中任何一个节点的丢失都会使群集变得无头。如果群集无法建立仲裁(需要大多数管理器节点都运行良好),则群集无头且无法控制。正在运行的容器继续运行,但是无法部署新的容器,失败的容器将不会重新部署,...)。

人们通常使用Ansible,Puppet,Chef或Salt等配置管理工具来部署集群配置。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...