如何在生产中使用主动/主动或主动/备用HA系统运行docker? 有没有指南或最佳实践?
我在想3个场景:
1)NFS - 对于两台服务器 - 准备好docker-machine
并将共享NFS挂载到/var/lib/docker/
- 因此两个docker节点都应该看到相同的文件。 (使用某种文件管理器,如vnx,efs等。)
2)使用DRBD复制磁盘 - 并将其挂载到:/var/lib/docker/
- 因此数据位于两个节点上,主动节点可以挂载并运行容器,以防故障转移时其他节点挂载和启动容器
3)使用DRBD - 如上所述 - 并导出NFS服务器,将两个节点上的NFS挂载到:/var/lib/docker/
- 这样两个节点都可以挂载和运行容器,使用Heartbeat / Pacemaker来移动虚拟机-IP& DRBD切换
在生产中运行docker-container以使其具有高可用性的最佳做法是什么。
问候
答案 0 :(得分:0)
持久存储仍然是容器/码头工作室中的大象。
我不建议使用您建议的任何方法。唯一的例外是,如果您将某些特定数据放入共享卷(使用卷装入)(但不是整个/var/lib/docker
)。
容器空间中发生了很多事情,并且有一个volume plugins直接集成到Docker中。其中一个获得最大动力的卷插件/解决方案是Flocker,值得研究。
将数据从容器中移出后,设置HA系统变得更加容易,因为容器变得或多或少是短暂的。
然后,您可以使用Kubernetes,Docker Swarm或Docker Datacenter之类的内容来管理/监控这些容器。