- Helm 차트로 GitLab Runner 구성
- Helm 차트로 GitLab Runner 설치
- Helm 차트로 GitLab Runner 업그레이드
- Helm 차트를 사용하여 GitLab Runner 제거
GitLab Runner Helm 차트
GitLab Runner Helm 차트는 Kubernetes 클러스터에 GitLab Runner 인스턴스를 배포하는 공식 방법입니다. 이 차트는 GitLab Runner를 다음과 같이 구성합니다.
- GitLab Runner를 위한 Kubernetes executor를 사용하여 실행합니다.
- 각 새 CI/CD 작업마다 지정된 네임스페이스에 새로운 pod를 프로비저닝합니다.
Helm 차트로 GitLab Runner 구성
GitLab Runner 구성 변경사항을 values.yaml
에 저장하세요. 이 파일을 구성하는 데 도움이 필요하면 다음을 참조하세요.
- 차트 레포지토리에 있는 기본
values.yaml
구성입니다. - Values Files에 대한 Helm 문서로, 값 파일이 기본 값보다 우선하는 방법을 설명합니다.
GitLab Runner가 올바르게 실행되려면 구성 파일에서 다음 값을 설정해야 합니다.
-
gitlabUrl
: Runner를 등록할 GitLab 서버의 전체 URL(예:https://gitlab.example.com
). -
rbac: { create: true }
: GitLab Runner가 작업을 실행하기 위해 pod를 생성하기 위한 RBAC(역할 기반 액세스 제어) 규칙을 생성합니다.- 기존
serviceAccount
를 사용하려면rbac: { serviceAccountName: "SERVICE_ACCOUNT_NAME" }
도 설정하세요. -
serviceAccount
가 필요로 하는 최소한의 권한에 대해 알아보려면 Runner API 권한 구성을 참조하세요.
- 기존
-
runnerToken
: GitLab UI에서 Runner를 생성할 때 얻은 인증 토큰입니다.- 이 토큰을 직접 설정하거나 비밀로 저장하세요.
더 많은 선택적 구성 설정을 사용할 수 있습니다.
이제 Helm 차트를 사용하여 GitLab Runner 설치할 준비가 되었습니다!
Helm 차트로 GitLab Runner 설치
필수 조건:
- 클러스터에서 GitLab 서버의 API에 접근할 수 있어야 합니다.
- Kubernetes 1.4 이상이어야 하며 beta API가 활성화되어 있어야 합니다.
-
kubectl
CLI가 로컬에 설치되어 있어야 하고, 클러스터에 인증되어 있어야 합니다. - Helm 클라이언트가 로컬 머신에 설치되어 있어야 합니다.
- values.yaml에 필요한 모든 값을 설정했어야 합니다.
Helm 차트를 사용하여 GitLab Runner를 설치하려면 다음을 수행하세요:
-
GitLab Helm 레포지토리를 추가합니다.
helm repo add gitlab https://charts.gitlab.io
- Helm 2를 사용하는 경우
helm init
으로 Helm을 초기화합니다. -
액세스할 수 있는 GitLab Runner 버전을 확인합니다.
helm search repo -l gitlab/gitlab-runner
-
최신 버전의 GitLab Runner에 액세스할 수 없다면 다음 몤려 실행하여 차트를 업데이트합니다.
helm repo update gitlab
-
values.yaml
파일에 GitLab Runner를 구성한 후, 다음과 같이 명령을 실행하여 매개변수를 필요에 맞게 변경합니다.# Helm 2용 helm install --namespace <NAMESPACE> --name gitlab-runner -f <CONFIG_VALUES_FILE> gitlab/gitlab-runner # Helm 3용 helm install --namespace <NAMESPACE> gitlab-runner -f <CONFIG_VALUES_FILE> gitlab/gitlab-runner
-
<NAMESPACE>
: GitLab Runner를 설치할 Kubernetes 네임스페이스입니다. -
<CONFIG_VALUES_FILE>
: 사용자 정의 구성을 포함하는 값 파일의 경로입니다. 파일을 만들려면 Helm 차트로 GitLab Runner 구성을 참조하세요. - 특정 버전의 GitLab Runner Helm 차트를 설치하려면
helm install
명령에--version <RUNNER_HELM_CHART_VERSION>
을 추가하세요. 차트의 아무 버전이나 설치할 수 있지만, 더 최신의values.yml
이 오래된 차트와 호환되지 않을 수 있습니다.
-
사용 가능한 GitLab Runner Helm 차트 버전 확인
Helm 차트와 GitLab Runner는 동일한 버전 관리 방식을 사용하지 않습니다. 두 버전 간의 매핑을 보려면 사용하는 Helm 버전에 맞는 명령을 실행하세요.
# Helm 2용
helm search -l gitlab/gitlab-runner
# Helm 3용
helm search repo -l gitlab/gitlab-runner
출력 예시:
NAME CHART VERSION APP VERSION DESCRIPTION
gitlab/gitlab-runner 0.64.0 16.11.0 GitLab Runner
gitlab/gitlab-runner 0.63.0 16.10.0 GitLab Runner
gitlab/gitlab-runner 0.62.1 16.9.1 GitLab Runner
gitlab/gitlab-runner 0.62.0 16.9.0 GitLab Runner
gitlab/gitlab-runner 0.61.3 16.8.1 GitLab Runner
gitlab/gitlab-runner 0.61.2 16.8.0 GitLab Runner
...
Helm 차트로 GitLab Runner 업그레이드
필수 조건:
- GitLab Runner 차트를 설치했어야 합니다.
- GitLab에서 Runner를 일시 중지했어야 합니다. 이를 통해 작업 완료시 권한 에러와 같은 문제가 발생하지 않습니다.
- 모든 작업이 완료되었는지 확인해야 합니다.
구성을 변경하거나 차트를 업데이트하려면 필요에 맞게 매개변수를 변경하여 helm upgrade
를 사용합니다.
helm upgrade --namespace <NAMESPACE> -f <CONFIG_VALUES_FILE> <RELEASE-NAME> gitlab/gitlab-runner
-
<NAMESPACE>
: GitLab Runner를 설치한 Kubernetes 네임스페이스입니다. -
<CONFIG_VALUES_FILE>
: 사용자 정의 구성을 포함하는 값 파일의 경로입니다. 파일을 만들려면 Helm 차트로 GitLab Runner 구성을 참조하세요. -
<RELEASE-NAME>
: 설치할 때 차트에 지정한 이름입니다. 설치 섹션의 예에서는gitlab-runner
로 명명했습니다. - 가장 최신 버전이 아닌 GitLab Runner Helm 차트의 특정 버전으로 업데이트하려면
helm upgrade
명령에--version <RUNNER_HELM_CHART_VERSION>
을 추가하세요.
Helm 차트를 사용하여 GitLab Runner 제거
GitLab Runner를 제거하려면 다음을 수행합니다:
- GitLab에서 러너를 일시 중지하고 모든 작업이 완료되었는지 확인합니다. 이렇게 함으로써 완료 시 권한 오류와 같은 작업 관련 문제를 방지할 수 있습니다.
-
필요에 따라 수정하여 다음 명령을 실행합니다:
helm delete --namespace <NAMESPACE> <RELEASE-NAME>
-
<NAMESPACE>
는 GitLab Runner가 설치된 Kubernetes 네임스페이스입니다. -
<RELEASE-NAME>
은 설치할 때 차트에 지정한 이름입니다. 이 페이지의 설치 섹션에서는gitlab-runner
로 지정했습니다.
-