问题描述
我知道这是一个基本问题。但是我是Docker的新手,并且有此查询。 我是否需要在群集模式下的所有节点上安装docker? 如果是这样,我一次可以在所有节点上安装docker的方式是什么?
解决方法
当然,您需要在每个节点上安装Docker及其依赖项。在一个管理器节点上,您需要使用docker swarm init
启动集群,然后将其他计算机作为管理器节点或工作程序节点加入。
管理器节点的数量取决于您补偿节点损失的要求:
- 1个管理者节点:需要1个健康节点
- 3个管理器节点:需要2个健康节点进行仲裁,可以补偿1个不健康节点
- 5个管理器节点:需要3个健康节点进行仲裁,可以补偿2个不健康节点
- 7个管理器节点:需要4个正常运行的节点进行仲裁,可以补偿3个不正常运行的节点
- 由于开销,建议不要超过7个
使用偶数不能提供更高的可靠性,这是完全相反的。如果您有2个管理器节点,则其中任何一个节点的丢失都会使群集变得无头。如果群集无法建立仲裁(需要大多数管理器节点都运行良好),则群集无头且无法控制。正在运行的容器继续运行,但是无法部署新的容器,失败的容器将不会重新部署,...)。
人们通常使用Ansible,Puppet,Chef或Salt等配置管理工具来部署集群配置。