我计划在一些 rPi 3B+ 上运行 Docker 和 Swarms。我的第一个目标是在至少 3 台机器上测试 RAFT 共识的容错能力,以便我可以模拟节点的故障。
根据: https://docs.docker.com/get-started/part4/
.. 当前的处理方式(swarmkit、Docker v18)中的节点是在主机操作系统下的物理主机上运行的 docker 机器,或者是“全脂”VM 来宾操作系统 > 运行在下面一层的 docker 机器物理主机。
是否可以在 Linux 机器上并行运行多个节点,而无需执行全功能 VM 工作?
由于 ARM 不具备像 x86 平台那样的硬件虚拟化功能,并且 rPi 的计算能力有限,因此为了在单个物理主机上拥有多个节点而运行 VM 将会对性能造成巨大影响。我很好奇是否有替代方案,或者我是否完全误解了 Docker 引擎/swarmkit 交互的工作原理。
答案1
根据 jordanm 的评论以及 Docker Swarm 和 Kubernetes 编排统一规定给定节点必须拥有完整虚拟机或物理主机的事实,我想说这实际上在任何一个系统中都是不可能的,但它尝试使用 Docker Swarm 这样做尤其徒劳,因为它已经是一个 DOA 平台。