크게 나눠보면 4가지 방법이 있다.
1. helm 레포지토리에서 수정 없이 인스톨 하여 사용하는 방법 (비추천)
2. helm 레포지토리에서 인스톨 명령어에 수정사항을 추가하여 사용하는 방법 (간단한 수정 내용에는 편함)
3. 수정이 필요한 부분만 yaml파일을 작성하여 오버라이드하는 방법 (4가지 방법 중 수정 및 적용이 가장 편하다 생각됨) - 맨 마지막에 간단한 예시 첨부함
4. 전체 파일을 다운로드 받아 values.yaml파일을 수정하여 사용하는 방법 (이 포스트에서 사용한 방법)
위의 네 가지 방법 모두 values.yaml파일의 구조를 먼저 파악하는게 우선!
설치 가이드 - https://docs.gitlab.com/charts/installation/deployment.html
gitlab - https://gitlab.com/gitlab-org/charts/gitlab
# repo 등록
$ helm repo add gitlab https://charts.gitlab.io/
# 압축파일 다운로드
$ helm fetch gitlab/gitlab
# 압축 파일 해제
$ tar xvfz gitlab-5.9.3.tgz
# namespace 생성
$ kubectl create ns gitlab
$ helm install gitlab -f values.yaml . -n gitlab
$ helm get ingress -n gitlab
127.0.0.1 gitlab.localhost.com
127.0.0.1 minio.localhost.com
127.0.0.1 registry.localhost.com
루트 아이디 : root
루트 비밀번호 : gitlab-gitlab-initial-root-password secret에 저장되어 있다.
# 비밀번호 찾는 명령어
$ kubectl get secret -n gitlab gitlab-gitlab-initial-root-password -o jsonpath="{.data.password}" | base64 -d ; echo
$ git config --global http.sslVerify false
$ git add .
$ git commit -m 'test'
$ git push
아이디
비번 입력
global:
edition: ce
hosts:
domain: localhost.com # ingress 도메인 설정 / 앞에 gitlab이 알아서 붙음
gitlab:
name: gitlab.localhost.com
https: true
registry:
name: registry.localhost.com
https: true
minio:
name: minio.localhost.com
https: true
ingress:
configureCertmanager: false
# gitlab-nginx 클래스로 설정되어 있을 건데 ingress-nginx-controller를 사용할 예정이므로 nginx 클래스로 변경한다.
class: "nginx"
tls:
enabled: true
certmanager: # 공인 IP, 도메인이 없어 cert-manager 컴포넌트 미사용
install: false
# gitlab nginx-ingress 컴포넌트 미사용
# 준비사항에서 설치한 쿠버네티스 ingress를 이용함
nginx-ingress:
enabled: false
# repo 등록
$ helm repo add gitlab https://charts.gitlab.io/
# 등록한 gitlab 레포지토리에서 gitlab이라는 namespace에 override_values.yaml을 오버라이드하여 gitlab이라는 이름으로 설치
$ helm install gitlab -f override_values.yaml . -n gitlab gitlab/gitlab