如何使用主动/主动或主动/备用HA系统在生产环境中运行docker?
是否有任何指南或最佳做法?
我正在考虑3种情况:
1)NFS-对于两台服务器-夹有docker-machine
并在/var/lib/docker/
上安装了共享的NFS-因此两个docker节点都应看到相同的文件。 (使用某种文件管理器,例如vnx,efs等。)
2)使用DRBD复制磁盘-并将其安装到:/var/lib/docker/
-这样数据就在两个节点上,并且 Activity 节点可以安装它并运行容器,以防故障转移时其他节点也可以安装并启动容器
3)使用DRBD-如上所述-并导出NFS服务器,将两个节点上的NFS都安装到:/var/lib/docker/
-这样,以上两个节点都可以安装和运行容器,使用Heartbeat / Pacemaker进行虚拟IP和DRBD切换
在生产环境中运行docker-container以使其高度可用的最佳实践是什么。
问候
最佳答案
在容器/ docker 世界中,持久性存储仍然有些困难。
我不建议您使用任何建议的方法。唯一的异常(exception)是,如果您将某些特定数据放入共享卷(使用卷装入)(而不是整个/var/lib/docker
)。
容器空间中发生了很多事情,并且有一个volume plugins直接集成到Docker中。最受欢迎的批量插件/解决方案之一是Flocker,值得研究。
将数据移出容器后,随着容器或多或少的临时性,设置高可用性系统变得容易得多。
然后,您可以使用Kubernetes,Docker Swarm或Docker Datacenter之类的东西来管理/监视这些容器。
关于docker - docker-生产中-HA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33865481/