我正在使用DC / OS协调器对ACS进行一些实验,虽然在单个区域内启动集群似乎很简单,但我不确定在多个地区进行部署的最佳做法是什么
Azure本身现在似乎不支持部署到多个区域。有了这个假设,我想我唯一的另一个选择是在我希望可用的所有区域中创建多个相同的集群,然后使用Azure Traffic Manager将传入流量路由到最近的可用集群。
虽然这个解决方案有效,但它也会导致一些我不能100%确定应该解决的问题。
有没有人曾经使用Azure容器服务(或者真正的亚马逊容器服务,因为我认为可以在那里找到相同的挑战)使用类似的设置,并且有一些关于如何处理这个问题的指示?
答案 0 :(得分:1)
您可以通过多种方式在不同地区进行调整。我会为每个人使用自定义安装和terraform。这是一个很好的起点:https://github.com/bernadinm/terraform-dcos
在不同地区分发代理应该没有问题,确保您的服务尽管失败仍会继续运行。
分发主服务器(让您在失败期间控制服务)更加困难,因为它涉及在高延迟链路上分配动物园管理员仲裁,因此您应该谨慎选择区域之间的“距离”。
有关详细信息,请查看documentation。
答案 1 :(得分:0)
您是对的ACS目前不支持多区域部署。
你的第一个问题是特定于DC / OS中的Marathon,我会对那里的一些工程人员进行检查,看看他们是否对最佳实践有任何意见。
你的第二点是我们(我是ACS PM)正在关注的事情。您可以在某些情况下使用某些解决方案(例如,ArangoDB位于DC / OS领域,并将提供复制)。 DC / OS团队也可以在这里说些什么。在ACS中,我们正在评估为此用例提供解决方案的最佳方法,但我担心我无法给出时间表的任何指示。
另一种解决方案是将您的数据库放在SaaS产品中。这消除了管理冗余和复制的所有复杂性。