Helm을 사용하여 GitLab 설치하기

티어: Free, Premium, Ultimate 오퍼링: Self-Managed

클라우드 네이티브 GitLab Helm 차트를 사용하여 Kubernetes에 GitLab을 설치합니다.

이미 사전 요구 사항을 설치하고 구성했다고 가정하면, helm 명령어로 GitLab을 배포할 수 있습니다.

경고: 기본 Helm 차트 구성은 프로덕션용이 아닙니다. 기본 차트는 모든 GitLab 서비스가 클러스터에 배포되는 POC(Concept of Proof) 구현을 만듭니다. 프로덕션 배포를 위해서는 클라우드 네이티브 하이브리드 참조 아키텍처를 따라야 합니다.

프로덕션 배포를 위해서는 Kubernetes에 대한 뛰어난 지식이 요구됩니다. 이런 배포 방법은 전통적인 배포와는 다른 관리, 가시성, 그리고 개념을 가지고 있습니다.

프로덕션 배포에서는:

  • PostgreSQL 또는 Gitaly(깃 저장소 저장 데이터플레인) 같은 상태 유지 구성 요소는 클러스터 외부에서 PaaS나 컴퓨트 인스턴스에서 실행되어야 합니다. 이 구성은 프로덕션 GitLab 환경에서 발견되는 다양한 작업 부하를 확장하고 안정적으로 처리하기 위해 필요합니다.
  • PostgreSQL, Redis, 그리고 깃 저장소 이외의 모든 저장소에 대해 클라우드 PaaS를 사용해야 합니다.

만약 GitLab 인스턴스에 Kubernetes가 필요하지 않다면, 더 단순한 대안을 위해 참조 아키텍처를 참조하세요.

Helm 차트를 외부 상태 유지 데이터를 사용하도록 구성하기

GitLab Helm 차트를 구성하여 PostgreSQL, Redis, 깃 저장소 이외의 모든 저장소, 그리고 깃 저장소 저장(Gitaly)에 대한 외부 상태 유지 저장소를 가리킬 수 있습니다.

다음과 같은 인프라스트럭처 코드(IaC) 옵션들이 이 방법을 사용합니다.

프로덕션 등급의 구현을 위해서는 적절한 차트 매개변수를 사용하여 선택한 참조 아키텍처와 일치하는 외부화된 상태 저장소를 가리킬 수 있어야 합니다.

참조 아키텍처 사용하기

Kubernetes에 GitLab 인스턴스를 배포하는 참조 아키텍처는 클라우드 네이티브 하이브리드라고 불립니다. 이는 프로덕션 등급의 구현을 위해 모든 GitLab 서비스가 클러스터에서 실행될 수 없기 때문에 특별히 그렇게 불립니다. 모든 상태 유지 GitLab 구성 요소는 Kubernetes 클러스터 외부에 배포되어야 합니다.

사용 가능한 클라우드 네이티브 하이브리드 참조 아키텍처 크기는 참조 아키텍처 페이지에 나열되어 있습니다. 예를 들어, 여기 3,000 사용자를 위한 클라우드 네이티브 하이브리드 참조 아키텍처가 있습니다.

인프라스트럭처 코드(IaC) 및 빌더 자원 사용하기

GitLab은 Helm 차트 및 보조 클라우드 인프라를 구성할 수 있는 인프라스트럭처 코드를 개발합니다: