2017-09-05 9 views
0

현재 Docker에는 GitLab 옴니버스 설정이 있습니다. 나는 그것을 Kubernetes에 추가하여 HA를 가질 계획이고 Gluster를 사용하여 지속성을 유지할 것입니다. 나는 Gluster로 Kubernetes를 구성하는 것에 대해 놀았습니다. 이제는 GitLab을 Kubernetes에 가져올 때입니다. GitLab은 PostgreSQL을 기본 db로 사용합니다.Kubernetes 및 Gluster가 포함 된 GitLab HA

내 쿼리는 그 HA를 구현하는 것입니다,해야 내가
A) GitLab 응용 프로그램과 PostgreSQL 용기에 GitLab를 분리 한 다음, 즉 포드의 자신의 클러스터에서 복제 별도의 배포을 모두 (응용 프로그램 및 DB)를 실행 GitLab 앱과 PostgreSQL?

b) 옴니버스 설치 프로그램을 계속 사용하고이 단일 독립 실행 형 컨테이너의 복제본을 가지고 계신가요?

는 정말
1)이 GitLab 응용 프로그램에 서비스를 통해 노출 된 DB 클러스터에 어떻게 기록할지 여부 어떤 차이가 있습니까
또는
2) 글 (옴니버스 GitLab 용기에 직접 일어나고 자체 내에서 DB를 가지고있는)

불필요하게 설치를 복잡하게 만들지 않으려 고합니다. Gluster와 함께 Kubernetes에서 GitLab을 사용하면 이미 작업이 다소 복잡해집니다. 그래서 응용 프로그램과 DB를 분할하는 것이 의미가 있습니까? 아니면 옴니버스 설정으로 충분합니까? db에 대한 동시 쓰기가 걱정됩니다.

답변

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)와 레디 스 클러스터 마스터 - 슬레이브 (https://redis.io/topics/cluster-tutorial)를 사용합니다. "예상대로 작동하는 최소 (Redis) 클러스터에는 적어도 세 개의 마스터 노드가 있어야합니다."

GlusterFS 만 사용하여 PostgreSQL에 장애 조치를 수행하는 경우 DB 인스턴스 하나가 충돌하고 다른 인스턴스가 가동 될 때 수동 복구가 필요합니다. 좋아요 : How do I fix Postgres so it will start after an abrupt shutdown?