InfoGrab
InfoGrab

GitLab HA 구성하기 (GitLab Korea Meetup 발표 요약)

GitLab HA 구성하기 (GitLab Korea Meetup 발표 요약)

·6 min read
GitLab HA 구성하기 (GitLab Korea Meetup 발표 요약)

GitLab으로 개발자의 업무시스템을 쓰신다고요? GitLab 서버가 장애로 Git 활동이나 MR 활동 못하면 협업에 지장이 생기고, 불편을 초래하게 되죠? 이를 방지하기 위해 GitLab도 HA로 구성을 할 수 있습니다.

GitLab Reference Architecture에는 3000명 이상 사용자 부터 HA를 구성에 대한 가이드를 하고 있습니다. 이를 토대로 GitLab Korea Meetup에서 우리회사 Jason 께서 세션 발표를 짧게 진행해 주셨습니다.

발표에서 나온 인사이트들을 정리해 보았습니다.

가용성? 고 가용성은 뭐고 왜 필요 할까요?

가용성 이란? 정상 사용 시간(Uptime)을 전체 사용시간(Uptime+Downtime)으로 나눈 값으로 높을 수록 높다고 표현하고 고 가용성이라고 합니다. DevOps 세상에서 고 가용성은 기본이죠? IT 전달 속도를 지속해서 높이려면... 결국 잘 죽지 않거나 죽어도 빨리 회복되어야 합니다.

가용성, 고가용성 의미

가용성, 고 가용성

고 가용성을 확보하면, 중단 없이 서비스를 쓸 수 있고 부하 분산에 따른 성능저하를 방지할 수 있으며, 달리는 자동차의 바퀴를 갈아 끼울 수 있게 됩니다!

달리는 자동차 위에서 바퀴를 갈아 끼우기

고 가용성 예시(?)

GitLab으로 HA를 구성해야 하는 이유는 무엇 일까요?

GitLab은 개발자의 협업 도구 중에 중요한 코드 활동과 CI/CD 파이프라인을 담당합니다. 그래서 요구사항을 에픽과 이슈로 만들어 쓰고, 쓰레드로 커뮤니케이션하며 코드를 커밋하고 서버에 푸시하면 파이프라인이 자동으로 구동됩니다..

GitLab을 이용하는 업무협업

GitLab을 이용하는 업무협업

만약 이 업무 시스템이 다운되면 어떻게 될까요?

HA 구성하는 하드웨어 비용 및 운영비가 더 비쌀까요? 업무 시스템 중단으로 여러 사람들의 업무에 불편을 초래하는 것이 비쌀까요? 답은 이미 정해져 있습니다! HA 구성이 필요합니다!

GitLab 장애시 비용

GitLab 장애시 비용

GitLab Omnibus 라는 것이 있다는데요?

GitLab은 좀더 편하게 운영관리를 하도록 Omnibus 패키지라는 것을 제공 하고 있습니다. 설정에서 GitLab 내부에 포함된 다양한 컴포넌트를 껐다 켰다 하고, 구체적인 설정을 할 수 있도록 사전에 패키징을 모두 해놓은 거죠.

이걸 이용하면, 상대적으로 쉽게 HA를 구성 할 수 있습니다.

GitLab Omnibus 특징

GitLab Omnibus 특징

Omnibus GitLab 아키텍처의 특징은요?

단일 노드에서 GitLab 을 운영할 때는 하나의 노드에 모든 컴포넌트 패키지들이 담겨 있구요.

GitLab Omnibus 아키텍처

GitLab Omnibus 아키텍처

조금 더 많은 사용자가 이용하게 된다면, 노드를 분리해서 특정 목적을 가지는 노드를 별도로 운영하게 됩니다.

GitLab Omnibus 아키텍처 확장

GitLab Omnibus 아키텍처 확장

이것을 AWS의 컴퓨팅 리소스를 활용해서 만든다면, 더 쉬워지겠죠?

GitLab Omnibus AWS 기반 아키텍처

GitLab Omnibus AWS 기반 아키텍처

그래서 AWS 기반으로 구축 한다면?

GitLab에서 HA하기 위한 3000 사용자 아키텍처 패턴을 고려해서, 로드밸런서 노드, Redis 노드, PosgreSQL 노드, Gitaly 노드, GitLab Rails 노드 등의 적정 사이즈를 선택합니다.

Terraform 으로 노드를 프로비저닝 하고 gitlab을 설치하죠.

그리고 노드를 다운시켜 보며, 장에 발생시에 문제가 없는지 확인을 해보게 됩니다.

어려운 일은 아닌데, 해보려면 고려하거나 약간의 깊이가 필요한 부분들이 생깁니다.

인포그랩이 GitLab HA 구성을 잘 합니다. 정확하게는 Jason이 잘 합니다. 😊

앞으로 많이 애용해 주세요.

참고로 밋업 영상은 GitLab Korea 페이스북 그룹에서 찾을 수 있습니다.

⚠️
해당 콘텐츠는 저작권법에 의하여 보호 받는 저작물로 기고자에게 저작권이 있습니다.
사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.

DevOps 도입이 필요하신가요?

인포그랩 전문가가 맞춤 을 도와드립니다.

관련 글

GitLab을 활용한 금융권 DevSecOps 사례
GitLabDevSecOps

GitLab을 활용한 금융권 DevSecOps 사례

디지털 딜리버리 속도에 대응하는 디지털 역량은 금융 업계에도 필수적인 부분입니다. 업계 특성상 높은 보안 사항과 컴플라이언스 수준을 만족 해야 합니다. 규제를 지키면서 고객의 니즈에 대한 변화를 빠르게 수용해야 하며, 안정성을 기반으로 신뢰를 만들어야 경쟁에서 주도권을 갖출 수 있습니다. 플랫폼화된 IT인프라에서 마이크로서비스 아키텍처까지 그리고 개발에서 품질 검증의 전체 거버넌스 프로세스를 어떻게 구성 했을까요? 단순하지만 부족함 없는 DevOps 구축으로 안정성과 유연성을 확장한 방식과 관행을 소개합니다. 생명보험의 선두주자 한화생명보험의 DevSecOps를 구축 사례를 소개 합니다.

2020년 12월 14일

GitLab에서 활용할 수 있는 규정 준수 기능
GitLabCompliance

GitLab에서 활용할 수 있는 규정 준수 기능

GitLab에서 활용할 수 있는 5가지 Compliance 관련 기능을 소개합니다. 규정 준수에 포함된 내용은 MFA, 주요 프로젝트에 대한 접근 권한 관리, Protected Branch 관리, Merge Request 승인 설정, Audit Event 를 포함하고 있습니다. ISO 27001을 포함해 다양한 규정에 대해 지원을 하고 있는 GitLab 입니다.

2022년 8월 29일

2020년 유료에서 오픈소스화된 기능들
GitLabDevOps

2020년 유료에서 오픈소스화된 기능들

2020년 3월에 GitLab Enterprise 에서 오픈소스로 변경된 기능 소개. 연관 이슈 관리, 이슈 export, 서비스데스크, 디자인 파일 관리, 코드 품질체크, 카나리 배포, 롤아웃 배포, 멀티 클러스터 연결, 컨테이너 보안 정책 등을 포함하는 대대적인 유료에서 오픈소스화 된 GitLab의 기능을 정리 했습니다.

2020년 12월 3일

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!