Я немного экспериментирую с ACS с помощью DC/OS-оркестратора, и, хотя кругооборот кластера в одном регионе кажется достаточно простым, я не совсем уверен, что лучший практика будет заключаться в развертывании в разных регионах.Многопользовательские контейнеры для кластеров Azure Container DC/OS
Azure, похоже, не поддерживает развертывание в нескольких регионах прямо сейчас. Исходя из этого предположения, я полагаю, что единственным моим вариантом является создание нескольких одинаковых кластеров во всех регионах, в которых я хочу быть доступным, а затем использовать Azure Traffic Manager для маршрутизации входящего трафика в ближайший доступный кластер.
Хотя это решение работает, это также вызывает несколько проблем, на которых я не уверен на 100%, как я должен работать.
- Наши развертывающие трубопроводы должны развертываться во всех регионах при развертывании новой версии сервиса. Если у нас есть регион Восточной Америки и Северной Европы, во время развертывания нашего инструмента CI я должен подключиться к API Marathon в обоих регионах для запуска новых развертываний. Если развертывание завершается с ошибкой в одном регионе и преуспевает в другом, у меня внезапно возникает несоответствие между этими двумя регионами.
- Если у меня есть служба, использующая локальные постоянные тома, скажем, PostgreSQL или ElasticSearch, она должна иметь экземпляры в обоих регионах, так как обнаружение службы будет находить только службы, локальные для региона. Это ставит проблему репликации между регионами, чтобы сохранить все государства во всех регионах; это, по-видимому, требует некоторых/много ручной настройки, чтобы работать.
Кто-нибудь когда-либо использовал настройку, подобную этой, используя Azure Container Service (или, действительно, Amazon Container Service, поскольку я предполагаю, что там могут быть обнаружены те же проблемы) и есть некоторые указания относительно того, как подойти к этому?