Назад | Перейти на главную страницу

Архитектура Docker Swarm с постоянным хранилищем

У меня небольшие проблемы с определением того, как именно я хочу спроектировать свой кластер Docker Swarm. В настоящее время он состоит из:

Я мог бы поделиться некоторыми отзывами о возможных способах решения этой проблемы. В идеале я бы хотел, чтобы все три сервера содержали экземпляры приложения MediaWiki или, возможно, 2 сервера и 1 выделенный хост-сервер для базы данных. Одно приложение MediaWiki получает примерно в 20 раз больше трафика, чем другое, поэтому будет лучше работать на нескольких машинах.

Проблема, с которой я столкнулся, заключается в попытке сохранить данные между развертываниями. В настоящее время я рассматриваю что-то вроде CephFS с блочным хранилищем, смонтированным в одном мастер хост и два подчиненных экземпляра реплицируются с него.

Я также еще не исследовал входящий компонент, но предполагаю, что могу настроить какой-то сервер Nginx, в идеале с включенным Lets Encrypt, который будет проксировать трафик на любое из имен хостов MediaWiki в зависимости от имени входящего домена, однако это может быть наивное предположение.

Вы переборщили с ceph для хранения изображений. Вы обречены на провал в этом.

Запустите все это в рое, но храните мультимедиа в блочном хранилище, например, в AWS S3. Если вы не используете поставщика с чем-то вроде S3, изучите

https://minio.io/

Его API совместим с S3. Преимущество состоит в том, что у большинства основных программ есть опции для S3.