2017-09-05 59 views
0

我目前在Docker上安裝了GitLab綜合設置。我計劃通過將它添加到Kubernetes並使用Gluster來實現持久性。我曾經玩過Gluster配置Kubernetes。現在是時候將GitLab帶入Kubernetes。 GitLab使用PostgreSQL作爲默認數據庫。GitLab HA與Kubernetes和Gluster

我的查詢是實現HA,我應該
一)分裂GitLab成GitLab應用和PostgreSQL容器,然後在自己的豆莢集羣同時運行(應用程序和DB),即,副本單獨部署 GitLab應用程序和PostgreSQL的?

b)繼續使用omnibus安裝程序,只是複製這個單獨的獨立容器?

是否真的作出任何差異是否
1)寫發生在通過服務暴露在GitLab應用一個數據庫集羣

2)直接寫入發生的綜合性GitLab容器(其中有內本身DB)

只是想確保我不會不必要地結束設置複雜。 Kubernetes的GitLab和Gluster已經讓事情變得有點複雜。那麼分裂應用程序和數據庫是否有意義,或者只是綜合設置就足夠了?關注對數據庫的併發寫入。

回答

1

根據http://docs.gitlab.com/ce/install/kubernetes/gitlab_omnibus.html#introduction您應該使用專用的Redis和PostgreSQL HA羣集。選項b)和1)

爲了減少停機時間,最好使用PostgreSQL的主從簇(https://www.postgresql.org/docs/10/static/different-replication-solutions.html)和Redis的集羣的主從https://redis.io/topics/cluster-tutorial)。 「請注意,按預期工作的最小(Redis)羣集需要包含至少三個主節點」。

如果您只使用GlusterFS將故障轉移到PostgreSQL,那麼當一個數據庫實例崩潰而另一個數據庫實例崩潰時,您可能會遇到一些需要手動修復的錯誤。像這樣:How do I fix Postgres so it will start after an abrupt shutdown?