Docker 如何在Mesos或CoreOS中配置MariaDB和Redis的高可用性集群

Docker 如何在Mesos或CoreOS中配置MariaDB和Redis的高可用性集群,docker,mariadb,coreos,mesos,marathon,Docker,Mariadb,Coreos,Mesos,Marathon,在大多数教程、演示和演示中,只提供通过DNS(SkyDNS、skydock等)或反向代理(如HAproxy或Vulcand)进行负载平衡的无状态服务,后者配置有etcd或ZooKeeper 部署MariaDB和Redis集群是否有最佳实践: CoreOS+舰队+码头工人;或 梅索斯+马拉松+码头工人 任何其他群集管理解决方案 当运行Master的主机可能发生变化时,如何配置Redis集群和MariaDB集群(Galera) 您可以使用CoreOS(或Docker可以运行的任何其他平台)和Kub

在大多数教程、演示和演示中,只提供通过DNS(SkyDNS、skydock等)或反向代理(如HAproxy或Vulcand)进行负载平衡的无状态服务,后者配置有etcd或ZooKeeper

部署MariaDB和Redis集群是否有最佳实践:

  • CoreOS+舰队+码头工人;或

  • 梅索斯+马拉松+码头工人

  • 任何其他群集管理解决方案

  • 当运行Master的主机可能发生变化时,如何配置Redis集群和MariaDB集群(Galera)

    您可以使用CoreOS(或Docker可以运行的任何其他平台)和Kubernetes,这样您就可以获取主机的IP地址。此外,Kubernetes还提供了一个(用于服务发现)功能,用于在您的POD中设置环境变量。您可以在运行时访问它们。我认为最好的方法(也是你需要去做的)是使用服务发现工具,比如SkyDNS或类似的东西。这是一个简单的Kubernetes示例

    你也可以用快速和侧踢来做到这一点,但我认为库贝伦特斯在某些方面对你来说更容易,而且使用起来更好。设置它只是有点棘手:)


    到目前为止,我还没有使用Mesos和Marathon,但我认为他们也应该这样做。他们()提供了设置集群所需的所有工具。

    在发布问题后,我很幸运地发现了一些实现了我所需功能的存储库:

    雷迪斯 -具有两个Redis实例和三个Redis Sentinel监视器的Redis群集。如果主人失败,哨兵会将奴隶提升为主人。Mark还创建了一个项目,该项目将HAProxy配置为使用升级的Master-

    Percona/Galera星团
    一张开箱即用的码头工人图片-

    谢谢,约翰。实际上,我在发布问题-,之后就找到了一个MySQL兼容集群的解决方案。我仍然在寻找Redis集群配置。在上面的例子中,Redis集群部署在Kubernetes和CoreOS之上。Redis奴隶从env开始。变量由Kubernetes代理提供,如上所述。希望这有帮助。