- Helm을 사용한 배포
- GitLab Helm 차트의 무결성과 출처 확인
- 배포 모니터링
- 초기 로그인
- 커뮤니티 에디션 배포
- 커뮤니티 에디션을 엔터프라이즈 에디션으로 변환
- 권장 다음 단계
GitLab Helm 차트 배포
helm install
을 실행하기 전에 GitLab을 실행하는 방법에 대한 결정을 내려야 합니다.
옵션은 Helm의 --set option.name=value
명령줄 옵션을 사용하여 지정할 수 있습니다.
이 가이드는 필수 값과 일반적인 옵션을 다룹니다.
전체 옵션 목록은 설치 명령줄 옵션을 참조하세요.
기본 차트는 모든 GitLab 서비스가 클러스터에 배포되는 개념 증명(PoC) 구현을 만듭니다.
프로덕션 배포를 위해서는
클라우드 네이티브 하이브리드 참조 아키텍처를 따라야 합니다.
프로덕션 배포를 위해서는 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
다음 사항에 유의하세요:
- 모든 Helm 명령은 Helm v3 구문을 사용하여 지정됩니다.
- Helm v3는 릴리스 이름을 명령줄에서 위치 인수로 지정해야 합니다.
--generate-name
옵션을 사용하지 않는 한 필수입니다. - Helm v3는 값에 단위가 추가된 기간을 지정해야 합니다.
(예:120s
=2m
및210s
=3m30s
).--timeout
옵션은
단위 명시 없이 초 수로 처리됩니다. -
--timeout
옵션은 설치 또는 업그레이드 동안 배포되는 여러 구성 요소에 적용되므로
약간 속임수가 될 수 있습니다.--timeout
값은
각 구성 요소의 설치에 개별적으로 적용되며 모든 구성 요소의 설치에는 적용되지 않습니다.
따라서--timeout=3m
을 사용하여 Helm 설치를 3분 후에 중단하려고 할 경우
설치된 구성 요소 중 어느 것도 3분 이상 소요되지 않으면 설치가 5분 후에 완료될 수 있습니다.
특정 버전의 GitLab을 설치하고 싶다면 --version <installation version>
옵션을 사용할 수 있습니다.
차트 버전과 GitLab 버전 간의 매핑은 GitLab 버전 매핑을 참조하세요.
태그가 없는 릴리스가 아닌 개발 브랜치를 설치하는 방법에 대한 설명은 개발자 배포 문서에서 찾을 수 있습니다.
GitLab Helm 차트의 무결성과 출처 확인
Helm provenance를 사용하여
GitLab Helm 차트의 무결성과 출처를 확인할 수 있습니다.
자세한 내용은 GitLab Helm 차트의 출처를 참조하세요.
배포 모니터링
배포가 완료되면 설치된 리소스 목록이 출력되며, 이는 5-10분이 걸릴 수 있습니다.
배포 상태는 helm status gitlab
를 실행하여 확인할 수 있으며,
또 다른 터미널에서 명령을 실행하면 배포가 진행되는 동안에도 확인할 수 있습니다.
초기 로그인
설치 중에 지정된 도메인을 방문하여 GitLab 인스턴스에 접근할 수 있습니다.
기본 도메인은 gitlab.example.com
이며, 전역 호스트 설정이 변경되지 않았다면 그렇습니다.
초기 루트 비밀번호에 대한 비밀을 수동으로 생성한 경우, 이를 사용하여 root
사용자로 로그인할 수 있습니다.
그렇지 않으면, GitLab은 root
사용자에 대해 자동으로 무작위 비밀번호를 생성합니다.
이는 다음 명령을 통해 추출할 수 있습니다(여기서 <name>
을 릴리스 이름으로 바꾸세요 - 위 명령을 사용했다면 gitlab
입니다).
kubectl get secret <name>-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo
커뮤니티 에디션 배포
기본적으로 Helm 차트는 GitLab의 엔터프라이즈 에디션을 사용합니다.
엔터프라이즈 에디션은 무료 오픈 코어 버전으로, 추가 기능을 잠금 해제할 수 있는 유료 티어로 업그레이드할 수 있는 옵션이 있습니다.
원하는 경우 MIT Expat 라이선스 하에 라이선스된 커뮤니티 에디션을 대신 사용할 수 있습니다.
두 버전 간의 차이점에 대해 자세히 알아보세요.
커뮤니티 에디션을 배포하려면 Helm 설치 명령에 이 옵션을 포함하세요:
--set global.edition=ce
커뮤니티 에디션을 엔터프라이즈 에디션으로 변환
커뮤니티 에디션을 배포한 후 엔터프라이즈 에디션으로 변환하려면, --set global.edition=ce
를 지정하지 않고 GitLab을 다시 배포해야 합니다.
개별 이미지를 지정한 경우(예: --set gitlab.unicorn.image.repository=registry.gitlab.com/gitlab-org/build/cng/gitlab-unicorn-ce
), 해당 이미지의 모든 발생을 생략해야 합니다.
배포 후 엔터프라이즈 에디션 라이선스를 활성화할 수 있습니다.
권장 다음 단계
설치를 완료한 후, 인증 옵션 및 가입 제한을 포함한 권장 다음 단계를 고려하세요.