GitLab 설치 요구 사항
이 페이지는 GitLab을 설치하기 위한 시스템 요구 사항에 대한 정보를 포함하고 있습니다.
스토리지
필요한 스토리지 공간은 GitLab에 보유하고자 하는 리포지토리의 크기에 크게 의존합니다.
가이드라인으로, 모든 리포지토리를 합친 것만큼의 여유 공간을 최소한 확보해야 합니다.
리눅스 패키지는 설치를 위해 약 2.5 GB의 스토리지 공간이 필요합니다.
스토리지 유연성을 위해 논리 볼륨 관리를 통해 하드 드라이브를 마운트하는 것을 고려하세요.
최소 7,200 RPM의 하드 드라이브 또는 반도체 드라이브를 가져야 응답 시간을 줄일 수 있습니다.
파일 시스템 성능이 GitLab의 전체 성능에 영향을 미칠 수 있으므로,
스토리지로 클라우드 기반 파일 시스템 사용을 피하세요.
CPU
CPU 요구 사항은 사용자 수 및 예상 작업 부하에 따라 달라집니다.
작업 부하는 사용자의 활동, 자동화 및 미러링의 사용, 리포지토리 크기를 포함합니다.
최대 초당 20개의 요청이나 1,000명의 사용자를 위해서는 8 vCPU를 가져야 합니다.
더 많은 사용자나 더 높은 작업 부하의 경우,
참조 아키텍처를 참조하세요.
메모리
메모리 요구 사항은 사용자 수 및 예상 작업 부하에 따라 달라집니다.
작업 부하는 사용자의 활동, 자동화 및 미러링의 사용, 리포지토리 크기를 포함합니다.
최대 초당 20개의 요청이나 1,000명의 사용자를 위해서는 16 GB의 메모리를 가져야 합니다.
더 많은 사용자나 더 높은 작업 부하의 경우,
참조 아키텍처를 참조하세요.
일부 경우에는 GitLab이 최소 8 GB의 메모리로 실행될 수 있습니다.
자세한 정보는
메모리 제한 환경에서 GitLab 실행하기를 참조하세요.
PostgreSQL
PostgreSQL은 지원되는 유일한 데이터베이스이며 리눅스 패키지에 포함되어 있습니다.
외부 PostgreSQL 데이터베이스도 사용할 수 있습니다.
사용자 수에 따라 PostgreSQL 서버는 다음과 같아야 합니다:
- 대부분의 GitLab 인스턴스의 경우, 최소 5~10 GB의 스토리지
- GitLab Ultimate의 경우, 최소 12 GB의 스토리지
(1 GB의 취약성 데이터를 가져와야 함)
다음 GitLab 버전에서는 이 PostgreSQL 버전을 사용하세요:
GitLab 버전 | 최소 PostgreSQL 버전 | 최대 PostgreSQL 버전 |
---|---|---|
17.x | 14.9 | 15.x |
16.x | 13.6 | 15.x (GitLab 16.1 및 이후에 대해 테스트됨) |
15.x | 12.10 | 14.x (GitLab 15.11에 대해서만 테스트됨), 13.x |
마이너 PostgreSQL 릴리스는 버그 및 보안 수정만 포함합니다.
알려진 문제를 피하기 위해 최신 마이너 버전을 항상 사용하세요.
자세한 내용은 이슈 364763를 참조하세요.
지정된 버전보다 나중의 주요 버전의 PostgreSQL을 사용하려면,
리눅스 패키지에 나중 버전이 포함되어 있는지 확인하세요.
또한 모든 GitLab 데이터베이스에 일부 확장이 로드되어야 합니다.
자세한 내용은 PostgreSQL 확장 관리를 참조하세요.
GitLab Geo
GitLab Geo를 사용하기 위해서는 Linux 패키지 또는 검증된 클라우드 제공업체를 사용하여 GitLab을 설치해야 합니다.
다른 외부 데이터베이스와의 호환성은 보장되지 않습니다.
자세한 내용은 Geo 실행 요건를 참조하세요.
지역 호환성
glibc
에서 지역 데이터를 변경하면 PostgreSQL 데이터베이스 파일이
다양한 운영 체제 간에 완전히 호환되지 않게 됩니다.
인덱스 손상을 피하기 위해서는, 다음 작업을 수행할 때 지역 호환성 확인을 하십시오:
- 서버 간에 이진 PostgreSQL 데이터를 이동할 때.
- Linux 배포판을 업그레이드할 때.
- 타사 컨테이너 이미지를 업데이트하거나 변경할 때.
자세한 내용은 PostgreSQL의 운영 체제 업그레이드를 참조하세요.
GitLab 스키마
GitLab, Geo, Gitaly Cluster 또는 기타 구성 요소를 위해 전용 데이터베이스를 생성하거나 사용해야 합니다.
다음 경우를 제외하고는 데이터베이스, 스키마, 사용자 또는 기타 속성을 생성하거나 수정하지 마십시오:
- GitLab 문서의 절차
- GitLab 지원팀이나 엔지니어의 지침
주요 GitLab 애플리케이션은 세 가지 스키마를 사용합니다:
- 기본
public
스키마 -
gitlab_partitions_static
(자동 생성됨) -
gitlab_partitions_dynamic
(자동 생성됨)
Rails 데이터베이스 마이그레이션 중에 GitLab이 스키마나 테이블을 생성하거나 수정할 수 있습니다.
데이터베이스 마이그레이션은 GitLab 코드베이스의 스키마 정의에 대해 테스트됩니다.
어떤 스키마를 수정하면 GitLab 업그레이드가 실패할 수 있습니다.
Puma
추천하는 Puma 설정은 귀하의 설치에 따라 다릅니다. 기본적으로 Linux 패키지는 추천 설정을 사용합니다.
Puma 설정을 조정하려면:
- Linux 패키지의 경우, Puma 설정을 참조하십시오.
- GitLab Helm 차트의 경우,
webservice
차트를 참조하십시오.
워커
추천하는 Puma 워커 수는 CPU 및 메모리 용량에 크게 의존합니다.
기본적으로 Linux 패키지는 추천하는 워커 수를 사용합니다.
이 숫자가 어떻게 계산되는지에 대한 더 많은 정보는
puma.rb
를 참조하십시오.
노드는 절대 두 개의 Puma 워커보다 적어서는 안 됩니다.
예를 들어, 노드는 다음과 같이 설정해야 합니다:
- 2 CPU 코어 및 8 GB 메모리에 대해 두 개의 워커
- 4 CPU 코어 및 4 GB 메모리에 대해 두 개의 워커
- 4 CPU 코어 및 8 GB 메모리에 대해 네 개의 워커
- 8 CPU 코어 및 8 GB 메모리에 대해 여섯 개의 워커
- 8 CPU 코어 및 16 GB 메모리에 대해 여덟 개의 워커
기본적으로 각 Puma 워커는 1.2 GB의 메모리에 제한됩니다.
이 설정은 /etc/gitlab/gitlab.rb
에서 조정할 수 있습니다.
또한 충분한 CPU 및 메모리 용량이 있는 경우 Puma 워커 수를 늘릴 수 있습니다.
더 많은 워커는 응답 시간을 줄이고 병렬 요청 처리 능력을 향상시킵니다.
귀하의 설치에 대한 최적의 워커 수를 검증하기 위해 테스트를 실행하십시오.
스레드
권장되는 Puma 스레드 수는 총 시스템 메모리에 따라 다릅니다.
노드는 다음과 같이 설정해야 합니다:
- 최대 2GB 메모리를 가진 운영 체제에 대해 하나의 스레드 사용
- 2GB 이상의 메모리를 가진 운영 체제에 대해 네 개의 스레드 사용
더 많은 스레드는 과도한 스와핑을 유발하고 성능을 저하시킬 수 있습니다.
레디스
Redis는 모든 사용자 세션과 백그라운드 작업을 저장하며, 평균적으로 사용자당 약 25kB의 메모리를 필요로 합니다.
GitLab 16.0 이상에서는 Redis 6.x 또는 7.x가 필요합니다.
제품 수명 주기에 대한 자세한 내용은 Redis 문서를 참조하세요.
레디스의 경우:
- 독립 인스턴스(고가용성 여부에 관계없이)를 사용하세요. Redis 클러스터는 지원되지 않습니다.
- 적절한 퇴출 정책을 설정하세요.
사이드키크
Sidekiq는 백그라운드 작업을 위한 다중 스레드 프로세스를 사용합니다.
이 프로세스는 초기에는 200MB 이상의 메모리를 사용하며 시간이 지남에 따라 메모리 누수로 인해 증가할 수 있습니다.
10,000명의 청구 가능한 사용자가 초과되는 매우 활동적인 서버에서는 사이드키크 프로세스가 1GB 이상의 메모리를 사용할 수 있습니다.
프로메테우스
기본적으로 Prometheus와 관련된 내보내기 프로그램은 GitLab을 모니터링하기 위해 활성화되어 있습니다.
이 프로세스는 약 200MB의 메모리를 소비합니다.
자세한 내용은 Prometheus로 GitLab 모니터링을 참조하세요.
지원되는 웹 브라우저
GitLab은 다음 웹 브라우저를 지원합니다:
GitLab은 다음을 지원합니다:
- 이러한 브라우저의 현재 및 이전 주요 버전
- 지원되는 주요 버전의 현재 보조 버전
이 브라우저에서 JavaScript가 비활성화된 상태로 GitLab을 실행하는 것은 지원되지 않습니다.