새소식

AWS/EKS

[PKOS Study 3주차] GitOps System - GitLab 설치

  • -

CloudNet@ 팀의 가시다님께서 Leading 하시는 PKOS 2기 Study 내용 요약

해당 Kubernetes Study 는 '24단계 실습으로 정복하는 쿠버네티스' 책을 기반으로 진행 중입니다.

 

 

이번 포스팅에서는 GitLab 를 설치하는 방법에 대해 알아보겠습니다.

 

 

1. GitLab 설치

Open Source 소스코드 원격 저장소

 

해당 포스팅에서는 GitLab 를 Helm Chart로 설치할 예정입니다.

설치할 helm chart 링크는 아래와 같습니다.

 

gitlab 6.10.0 · gitlab/gitlab

The One DevOps Platform

artifacthub.io

 

 

GitLab Helm chart | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

 

1.1. 사전 준비

  • Helm 설치
  • Kubernetes by kops
  • Personal Domain

 

1.2. Helm Repo Add & Config

helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm fetch gitlab/gitlab --untar --version 6.8.1

 

 

헬름 차트의 Default 설정을 변경해주기 위해 values.yaml 파일을 수정합니다.

vim ~/gitlab/values.yaml

 

hosts.domain

개인 도메인 주소 사용 목적

 

ingress.configureCertmanager: false  /  ingress.tls: false

이미 AWS ALB 에서 ACM 을 통한 인증 처리를 하기 때문에 configureCertmanager 를 false 으로 변경

 

ingress.provider  /  ingress.class  /  ingress.annotation

Amazon ALB 를 사용하기 위한 설정

 

hosts:
    domain: kimalarm.net
    hostSuffix:
    https: true
    externalIP:
    ssh: ~
    gitlab: {}
    minio: {}
    registry: {}
    tls: {}
    smartcard: {}
    kas: {}
    pages: {}

ingress:
    apiVersion: ""
    configureCertmanager: false
    provider: alb
    class: alb
    annotations:
        alb.ingress.kubernetes.io/scheme: internet-facing
        alb.ingress.kubernetes.io/target-type: ip
        alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
        alb.ingress.kubernetes.io/certificate-arn: <Amazon ACM ARN>
        alb.ingress.kubernetes.io/success-codes: 200-399
        alb.ingress.kubernetes.io/group.name: "gitlab"
    enabled: true
    tls:
        enabled: false

 

 

1.3. GitLab Install

GitLab 를 위한 네임스페이스를 생성해준 후 helm chart 로 설치를 진행합니다.

 

kubectl create ns gitlab

helm install gitlab gitlab/gitlab -f ~/gitlab/values.yaml --set certmanager.install=false --set nginx-ingress.enabled=false --set prometheus.install=false --set gitlab-runner.install=false --namespace gitlab --version 6.8.4

 

 

1.4. GitLab Login

아래의 명령어를 통해 GitLab 최초 비밀번호를 확인합니다.

kubectl get secrets -n gitlab gitlab-gitlab-initial-root-password --template={{.data.password}} | base64 -d ;echo
ID: root
PW: <위 명령어를 통해 나온 값>

 

 

 

Contents

포스팅 주소를 복사했습니다