본문 바로가기
반응형

전체 글79

Gitlab Geo 환경 장애 복구 시나리오 실습 GitLab Geo는 지리적으로 분산된 팀에게 빠르고 신뢰할 수 있는 Git 저장소 접근을 보장해 주는 이점을 제공한다. 하지만 Geo primary node에 문제가 발생하면 어떻게 될까? 이 블로그 글에서는 Geo primary node에 문제가 발생하여 Geo secondary node를 primary node로 승격시켜 다운타임을 최소화하는 장애 복구 과정에 대해 다뤄보려 한다.  시나리오는 다음과 같다.Geo primary node에서 장애 발생을 감지한다.Geo primary node를 전부 비활성화한다.Geo secondary node를 Primary node로 승격시킨다.Primary node를 Geo primary node로 설정하고 새로운 Geo secondary node를 설정하여 G.. 2023. 12. 11.
Gitlab 고가용성 Geo 환경 구성하기 (Omnibus, Multi-node) GitLab은 협업 및 버전 관리를, CI/CD를 위한 강력한 플랫폼으로, 기업에서 소프트웨어 개발 및 관리를 위해 널리 사용되고 있다. GitLab Geo는 GitLab의 중요한 기능 중 하나로, 지리적으로 분산된 팀 및 사용자들 간의 협업을 향상시키기 위해 설계되었다. 이 글에서는 GitLab Geo가 무엇이며, 어떻게 안정성과 확장성을 향상시키는지 개념과 실제 구성을 통해 알아보려 한다. GitLab Geo란?GitLab Geo는 지리적으로 분산된 팀 및 사용자들 간에 repository의 안정성을 향상시키기 위해 설계된 기능이다. 이는 지리적으로 떨어진 다양한 지역에서 소프트웨어 개발 및 협업을 수행하는 조직에게 특히 유용하다. Geo는 주로 다음과 같은 이점을 제공한다. 1. 안정성 향상GitL.. 2023. 12. 5.
Gitlab 고가용성 환경 구성하기 (Omnibus, Multi-node) 본 글은 gitlab 3000명의 사용자가 사용하기 위해 설계된 아키텍처 기반으로 작성한 글이다.참조 : https://docs.gitlab.com/ee/administration/reference_architectures/3k_users.html GitLab Omnibus는 GitLab 및 해당 종속성을 포함하는 종합적인 패키지를 의미한다. 이 패키지를 통해 GitLab과 필요한 모든 구성 요소를 설치할 수 있으며, 더 나아가 각각의 구성 요소를 분리하여 독립적으로 설치하는 것도 가능하다. 이러한 유연성은 관리자들에게 큰 이점을 제공한다. 왜냐하면 시스템 환경과 요구 사항에 맞게 각 구성요소를 조정(확장 및 축소)할 수 있기 때문이다.  본 글에서는 Omnibus 패키지를 활용하여 고가용성 GitLab.. 2023. 12. 4.
Grafana Mimir란? 개념부터 설치까지 Prometheus는 쿠버네티스 환경에서 많이 사용하는 인기 있는 오픈소스 모니터링 도구이다.하지만 몇 가지 치명적인 단점이 있다. 확장 및 고가용성의 한계Prometheus는 단일 서버로 동작하게 설계되어 있다. 즉, 서버가 내려가면 그 시간 동안 메트릭을 수집할 수 없게 됨을 의미한다. 이를 보완하기 위해 프로메테우스 서버를 2개로 하여 모니터링을 하면 하나의 서버가 내려가더라도 다른 하나의 서버로 메트릭을 볼 수 있지만, 여전히 근본적인 해결이 안된 불완전한 아키텍처로 샤딩, Prometheus Federation 구성 등의 추가 작업이 필요하다.오래된 데이터 보관의 어려움Prometheus는 메트릭을 로컬 디스크에 수집하여 보관하는데, 저장소의 용량이 한계에 도달하면 오래된 데이터가 자동으로 삭제.. 2023. 11. 17.
Grafana Tempo란? 개념부터 설치까지 Trace란? Trace는 분산되어 있는 마이크로서비스 시스템에서 발생하는 요청이나 트랜잭션이 여러 구성 요소를 거치면서 이루어지는 일련의 과정이나 경로를 기록한 것을 의미한다. 예를 들어, 웹사이트에서 사용자가 상품을 주문할 때 사용자의 클릭 한 번이 내부적으로는 여러 서비스를 거치면서 요청에 대한 정보가 처리된다. 이 정보들의 전체 집합을 Trace라고 부른다. Trace를 통해 하나의 요청이 시스템 내부에서 어떻게 처리되는지, 어디에서 지연이 발생하는지, 문제의 원인은 무엇인지 등을 파악하는 데 도움이 된다. 특히, 복잡한 마이크로서비스 환경에서 문제 원인을 찾는 데 유용하다. Trace를 설정하면 모든 이벤트에 고유한 trace id가 부여된다. trace id는 요청이 시작될 때 생성되고 이벤트.. 2023. 11. 6.
Grafana Loki란? 개념부터 설치까지 Grafana Loki란?Grafana Loki는 Prometheus에서 영감을 받은 로그 집계 시스템으로, 로깅 및 이벤트 데이터를 수집, 저장 및 검색하기 위한 오픈 소스 플랫폼이다. 비용 효율적으로 운영하기 쉽게 설계되었으며 Grafana Labs에서 Loki 프로젝트 개발을 주도하고 있다. Loki는 로그 전체 TEXT가 아닌 metadata만 인덱싱하는 방식을 취한다.이런 최소 인덱싱 접근 방식은 다른 솔루션보다 적은 저장 공간이 필요함을 의미한다. Grafana Loki는 아래와 같이 작동한다.Loki를 위해 만들어진 로그 수집 도구인 Promtail을 통해 로그를 가져와 로그를 저장한다. 이후 Grafana에서 LogQL이라는 쿼리 언어를 통해 로그를 검색하게 된다. 또한 경고 규칙을 설정하.. 2023. 11. 1.
728x90
반응형