본문 바로가기
GITLAB

GITLAB Runner 설치 가이드

by aws-evan 2024. 8. 20.
반응형

 

 

 

 

반응형

 

 

  • GITLAB CICD를 활용하기 위해서는 GITLAB  Runner가 필요
  • Runner를 통하여 Build . Deploy등을 진행

 

 

  • 공식 문서 참고

https://docs.gitlab.com/runner/install/kubernetes.html

 

GitLab Runner Helm Chart | GitLab

GitLab product documentation.

docs.gitlab.com

 

 

 

  • Gitlab runner 설정 전에 Gitlab에서 Runner 설정 필요
    • Admin area -> CI/CD -> Runners -> New instance runner
    • Tags, Runner description 설정

 

 

 

Helm

Helm 설치curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3chmod 700 get_helm.sh./get_helm.sh  https://helm.sh/ko/docs/helm/helm/ helm헬름 - 쿠버네티스 패키지 매니저helm.sh  Helm 등록된 repo

monta010.tistory.com

 

 

  • Helm repo 추가
helm repo add gitlab https://charts.gitlab.io

 

 

  • Helm repo 업데이트
helm repo update gitlab

 

 

  • Gitlab runner Repo 리스트 보기
helm search repo -l gitlab/gitlab-runner

 

 

  • Gitlab runner repo 다운로드
helm pull gitlab/gitlab-runner

 

 

 

  • values yaml 수정
#gitlabUrl: "gitlab URL 등록"
gitlabUrl: http://192.168.20.162


# runnerRegistrationToken: "토큰값"
runnerRegistrationToken: "glrt-**************"

 

  • Helm Gitlab runnner 설치
helm install --namespace gitlab gitlab-runner -f values.yaml gitlab/gitlab-runner

 

  • values.yml 수정하고 다시 배포 할 경우 helm upgrade로 진행
helm upgrade --namespace gitlab  gitlab-runner  -f values.yaml gitlab/gitlab-runner

 

  • Gitlab -> Gitlab runner를 접근하기 위해서는 RBAC를 적용해야 가능합니다 
    • 미적용시 권한 에러

 

  • RBAC 적용
    • Serviceaccount : default 
      • 별도 Serviceaccount 만들어서 적용해도 가능
    • Namespace : gitlab
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: gitlab
  name: gitlab-role
rules:
- apiGroups: ["extensions", "apps"]
  resources: ["deployments"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: [""]
  resources: ["pods","services","secrets","pods/exec", "serviceaccounts","pods/attach"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: gitlab
  name: gitlab-rb
subjects:
- kind: ServiceAccount
  name: default
  namespace: gitlab
roleRef:
  kind: Role
  name: gitlab-role
  apiGroup: rbac.authorization.k8s.io

 

 

 

  • Gitlab runner 등록 완료

 

 

 

Gitlab runner Helm 설정

 

  • Gitlab runner 이미 변경
runners:
  config: |
    [[runners]]
      [runners.kubernetes]
        image = "ubuntu:22.04"

 

 

  • 최대 Runner 동시성 제어
concurrent: 10
반응형

'GITLAB' 카테고리의 다른 글

GITLAB Runner CI/CD 테스트  (0) 2024.08.20