Kubernetes 이야기

Giblab install on kubernetes 본문

Kubernetes/devops

Giblab install on kubernetes

kmaster 2022. 10. 9. 12:22
반응형

GitLab은 Git 원격 저장소(Repository) 관리뿐만 아니라, 이슈 트래킹, 코드 리뷰, Wiki, CI/CD, 테스트, 모니터링 등 전체 소프트웨어 개발 라이프사이클에 필요한 기능을 제공한다.

또한, 현대적인 소프트웨어 개발 방법인 클라우드 네이티브(Cloud Native) 환경 구축에 필요한 DevOps, Container, Kubernetes, CI/CD를 위한 기능을 제공한다.

 

GitLab은 SaaS 형과 Self-Managed 형태로 사용 가능하다.

Saas/Cloud Gitlab.com : 서비스형으로 GitLab에서 직접 직접 운영하며 회원가입 후 유/무료로 사용 가능

Download & Install GitLab : 설치형 버전으로 별도의 리눅스서버나 AWS, K8s 환경에서 설치 및 운영 가능

 

운영 형태 외에 라이센스 정책에는 개인 및 커뮤니티 버전인 CE(Community Edition)와 기업 및 단체 버전인 EE(Enterprise Edition)가 있다.

 

설치 전 준비사항

1. Kubernetes Cluster

2. StorageClass ( 테스트 시에는 OpenEBS 사용함 )

 

설치

설치방법은 Helm 으로 설치를 진행한다. 다음과 같이 기본적인 설치를 진행할 수 있다.

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

하지만, On-Prem 환경에서는 몇 가지 설정을 수정해 줘야 한다.

values 값을 다음과 같이 수정했다.

helm fetch gitlab/gitlab
tar xvfz gitlab-6.4.2.tgz
vi values.yaml

global:
...
  edition: ce
...
  hosts:
    domain: 10.10.0.112.nip.io
...
  ingress:
    configureCertmanager: false
    provider: nginx
    class: nginx
    enabled: true
    tls:
      enabled: true
...

certmanager:
  installCRDs: false

...
nginx-ingress:
  enabled: false
  
...

prometheus:
  install: false

...
gitlab-runner:
  install: false

이제 설치를 진행한다.

kubectl create ns gitlab
helm install gitlab -f values.yaml . -n gitlab

설치가 완료되면 아래와 같이 ingress가 생성된다.

[root@master gitlab]# k get ing -n gitlab
NAME                        CLASS   HOSTS                          ADDRESS      PORTS     AGE
gitlab-kas                  nginx   kas.10.10.0.112.nip.io        10.98.4.71   80, 443   45m
gitlab-minio                nginx   minio.10.10.0.112.nip.io      10.98.4.71   80, 443   45m
gitlab-registry             nginx   registry.10.10.0.112.nip.io   10.98.4.71   80, 443   45m
gitlab-webservice-default   nginx   gitlab.10.10.0.112.nip.io     10.98.4.71   80, 443   45m

ingress로 호출하면 다음과 같이 로그인 화면이 호출된다.

초기 패스워드는 gitlab-gitlab-initial-root-password secret에 저장된다. (계정은 root)

 

 

 

https://docs.gitlab.com/charts/installation/deployment.html

반응형

'Kubernetes > devops' 카테고리의 다른 글

Kubernetes에 Nexus 설치  (0) 2023.12.29
tekton과 argocd를 이용한 GitOps 구축하기  (0) 2023.01.12
Backstage  (0) 2022.10.02
dapr  (0) 2022.09.30
DevSpace  (0) 2022.09.29
Comments