<aside> 💡 본 문서에서는 Gitlab Runner Helm 배포와 istio sidecar resource limit 값 조정을 설명합니다.

</aside>

배경

배포 방법

Gitlab Runner 배포는 Gitlab이 사전에 배포되어 있음을 전제합니다.

1. 기본 작업

# Namespace 생성 및 istio sidecar 설정 적용
kubectl create ns gitlab-runner && kubectl label ns istio-injection=enabled

# Helm 차트 다운로드
# gitlab repo의 차트 확인 : helm search repo gitlab
helm pull gitlab/gitlab-runner

# Template 수정 및 custom value 추가
# 상단 참조

2. ResourceQuota 적용

cat << EOF > gitlab-runner-resourcequota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  name: runner-resource-quota
  namespace: gitlab-runner
spec:
  hard:
    limits.cpu: "10"
    limits.memory: "16Gi"
EOF

kubectl apply -f gitlab-runner-resourcequota.yaml

3. Runner Token 시크릿 생성

4. Gitlab runner Helm 배포

# helm -n <namespace> <release-name> <chart> -f <values-file.yaml>
# -i: 설치되어 있지 않은 경우 설치 진행
# --wait: 모든 리소스가 성공적으로 배포되고 준비될 때까지 Helm이 기다리도록 하는 옵션. Timeout 시간 내에 모든 Pod가 준비 상태가 되기를 기다립니다.
# --timeout: timeout값 변경(기본 : 5m)
helm -n gitlab-runner upgrade gitlab-runner ./gitlab-runner -f gitlab-runner/values.yaml -i --wait --debug --timeout 10m

참조