Docker-Swarm
使用持久儲存建構 Docker Swarm
我在確定我想如何建構我的 Docker Swarm 集群時遇到了一些麻煩。目前它包括:
- 1 MariaDB,它需要具有適合數據庫的持久儲存。
- 2 x MediaWiki 伺服器,需要具有適合儲存圖像、影片和其他媒體文件的持久儲存。
- 基於域名將域名映射到每個 MediaWiki 伺服器的某種入口。
我可以對可能的架構方式提供一些回饋。理想情況下,我希望所有三台伺服器都包含 MediaWiki 應用程序的實例,或者可能是 2 台伺服器和 1 台專用主機伺服器用於數據庫。一個 MediaWiki 應用程序接收的流量大約是另一個應用程序的 20 倍,因此可以在多台機器上執行。
我遇到的麻煩是嘗試在部署之間保留數據。我目前正在考慮使用 CephFS 之類的東西,將塊儲存安裝到一個主主機和兩個從屬實例從中複製。
我還沒有探索入口組件,但我假設我可以配置某種 Nginx 伺服器,理想情況下啟用 Lets Encrypt,它將根據傳入域名將流量代理到任一 MediaWiki 主機名,但這可能是一個天真的假設。
您正在使用 ceph 儲存圖像。你注定要失敗。
在 swarm 中執行它,但將您的媒體儲存在像 AWS S3 這樣的塊儲存上。如果您不使用具有 S3 之類的提供程序,請查看
它的 API 與 S3 兼容。好處是大多數主要軟體都為 S3 提供了選項。