У нас есть несколько мест (сейчас 2, скоро будет 3) с серверами ProxMox, на которых установлены контейнеры (сервер ubuntu), как показано ниже (но будет больше веб-серверов):
Расположение 1:
Расположение 2:
У нас есть db-серверы, настроенные как multi master с использованием galera на MariaDB, поэтому они не являются проблемой. При развертывании мы хотим выполнить развертывание в Location 1 (где находится сервер GitLab) и синхронизировать его с Location 2 на том же веб-сервере (и с любыми другими местоположениями в будущем). Мы будем использовать Symfony для внутренней разработки решений и, возможно, другие сервисы, такие как flarum для форумов.
Существует обратный прокси-сервер, который отправляет правильный subdomain.domain на правильный IP-адрес локальной сети и направляет весь трафик с http на https, а также работает с сертификатами letsencrypt. Я также создал решение ddns, которое подключается к онлайн-серверу cpanel для обновления DNS для динамических местоположений DNS и в случае аварийного переключения (единственный раз, когда что-либо после того, как сайт будет использоваться, - это в случае сбоя на сайте 1)
Первоначально мы думали использовать Resilio Sync для синхронизации каталога проекта (/ var / www / html /) между ними, но тогда он потеряет разрешения, и нам нужно убедиться, что нет постоянно меняющихся файлов, которые вызовут синхронизацию (с symfony мы их можно переместить из папки синхронизации, поскольку они не нуждаются в обычной синхронизации в обновлении).
Если бы это был только один сервер, мы бы посмотрели на использование rsync поверх ssh, если бы этот порт не использовался где-либо еще, но мы не хотим настраивать сложную переадресацию портов каждый раз, когда добавляем новый веб-сервер. Resilio не нуждается в перенаправлении портов, поэтому было бы здорово, если бы не проблемы с разрешениями. Я предполагаю, что мы действительно не можем сделать это через https (потому что веб-сайт работает на этом порту).
Какие-либо предложения?