GitLab Helm 차트 배포

Tier: Free, Premium, Ultimate Offering: Self-Managed

helm install을 실행하기 전에 GitLab을 실행할 방법에 대해 몇 가지 결정해야합니다. 옵션은 Helm의 --set option.name=value 명령줄 옵션을 사용하여 지정할 수 있습니다. 이 가이드에서는 필수 값 및 일반적인 옵션을 다룹니다. 옵션의 전체 목록은 Installation command line options를 참조하십시오.

경고: 기본 Helm 차트 구성은 운영용으로 의도되지 않았습니다. 기본 차트는 모든 GitLab 서비스가 클러스터에 배포되는 개념 증명(Proof of Concept, PoC) 구현을 생성합니다. 운영 배포의 경우 Cloud Native Hybrid 참고 아키텍처를 따라야 합니다.

운영 배포를 위해서는 Kubernetes에 대한 뛰어난 지식이 필요합니다. 이 배포 방법은 전통적인 배포와는 다른 관리, 가시성, 개념을 갖고 있습니다.

Helm을 사용하여 배포

구성 옵션을 모두 수집하면 종속성을 가져와 Helm을 실행할 수 있습니다. 이 예에서는 Helm 릴리스를 gitlab로 지정했습니다.

helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm upgrade --install gitlab gitlab/gitlab \
  --timeout 600s \
  --set global.hosts.domain=example.com \
  --set global.hosts.externalIP=10.10.10.10 \
  --set certmanager-issuer.email=me@example.com \
  --set postgresql.image.tag=13.6.0

다음 사항에 유의하십시오:

  • 모든 Helm 명령은 Helm v3 구문을 사용하여 지정됩니다.
  • Helm v3에서는 릴리스 이름을 위치 인수로 명령줄에 지정해야 하거나 --generate-name 옵션을 사용해야 합니다.
  • Helm v3에서는 값에 단위를 붙여 지속 시간을 지정해야 합니다. (예: 120s = 2m210s = 3m30s). --timeout 옵션은 단위 지정 없이 초 단위로 처리됩니다.
  • --timeout 옵션의 사용은 각 구성 요소의 개별적인 설치에 적용됩니다. 따라서 모든 구성 요소의 설치에 대한 시간제한이 적용되지 않습니다. 따라서 --timeout=3m을 사용하여 3분 후에 Helm 설치를 중단하려고 하는 경우 설치가 모든 구성 요소의 설치가 3분을 초과하지 않았기 때문에 5분 후에 설치가 완료될 수 있습니다.

특정 버전의 GitLab을 설치하려면 --version <installation version> 옵션을 사용할 수도 있습니다.

차트 버전과 GitLab 버전 간의 매핑에 대한 내용은 GitLab version mappings를 참조하십시오.

태그가 지정된 릴리스 대신 개발 브랜치를 설치하는 방법에 대한 지침은 개발 배포 설명서에서 찾을 수 있습니다.

GitLab Helm 차트의 무결성과 출처 확인

GitLab Helm Chart provenance을 사용하여 GitLab Helm 차트의 무결성과 출처를 확인할 수 있습니다. 자세한 내용은 Helm provenance를 참조하십시오.

배포 모니터링

배포가 완료되면 설치된 리소스 목록이 출력됩니다. 이 작업은 5~10분 정도 소요될 수 있습니다.

helm status gitlab을 실행하여 배포 상태를 확인할 수 있으며 배포 중일 때도 다른 터미널에서 해당 명령을 실행할 수 있습니다.

초기 로그인

설치 중에 지정한 도메인을 방문하여 GitLab 인스턴스에 액세스할 수 있습니다. 기본 도메인은 gitlab.example.com이며, 글로벌 호스트 설정이 변경되지 않은 경우입니다. 초기 루트 암호를 수동으로 생성한 경우 해당 암호로 root 사용자로 로그인할 수 있습니다. 그렇지 않으면 GitLab이 root 사용자의 무작위 암호를 자동으로 생성했을 것입니다. 이를 다음 명령어로 추출할 수 있습니다 (위의 명령어를 사용하여 릴리스 이름인 gitlab을 대체하십시오).

kubectl get secret <name>-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo

Community Edition 배포

기본적으로 Helm 차트는 GitLab의 엔터프라이즈 에디션을 사용합니다. 엔터프라이즈 에디션은 추가 기능을 잠금 해제하는 유료 티어로 업그레이드하는 옵션이 있는 GitLab의 무료 오픈 코어 버전입니다. 원하는 경우 MIT Expat 라이선스에 따라 라이선스가 부여된 Community Edition을 대신 사용할 수 있습니다. 두 버전 간의 차이에 대해 알아보십시오.

Community Edition을 배포하려면 Helm 설치 명령에 이 옵션을 포함하십시오:

--set global.edition=ce

Community Edition을 Enterprise Edition으로 변환하기

만약 커뮤니티 에디션을 배포했고 Enterprise Edition으로 변환하려면, --set global.edition=ce를 지정하지 않고 GitLab을 재배포해아 합니다. 또한 개별 이미지를 지정했다면(예: --set gitlab.unicorn.image.repository=registry.gitlab.com/gitlab-org/build/cng/gitlab-unicorn-ce), 해당 이미지를 생략해야 합니다.

배포 후에는 Enterprise Edition 라이선스를 활성화할 수 있습니다.

추천하는 다음 단계

설치를 완료한 후, 추천하는 다음 단계를 고려해보세요. 인증 옵션 및 가입 제한 등이 포함됩니다.