GitLab Runner Operator 설치
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
OpenShift 웹 콘솔의 OperatorHub 안정 채널에서 GitLab Runner Operator를 사용하여 Red Hat OpenShift v4 이상에 GitLab Runner를 설치합니다. 먼저 OpenShift Operator를 설치해야 합니다.
Red Hat OpenShift에 설치#
OpenShift 웹 콘솔의 OperatorHub 안정 채널에서 GitLab Runner Operator를 사용하여 Red Hat OpenShift v4 이상에 GitLab Runner를 설치합니다. 설치 후 새로 배포된 GitLab Runner 인스턴스를 사용하여 GitLab CI/CD 잡을 실행할 수 있습니다. 각 CI/CD 잡은 별도의 파드에서 실행됩니다.
사전 조건#
- 관리자 권한이 있는 OpenShift 4.x 클러스터
- GitLab Runner 등록 토큰
OpenShift Operator 설치#
먼저 OpenShift Operator를 설치해야 합니다.
-
OpenShift UI를 열고 관리자 권한이 있는 사용자로 로그인합니다.
-
왼쪽 창에서 Operators를 선택한 다음 OperatorHub를 선택합니다.
-
메인 창의 All Items 아래에서
GitLab Runner키워드를 검색합니다.
-
설치하려면 GitLab Runner Operator를 선택합니다.
-
GitLab Runner Operator 요약 페이지에서 Install을 선택합니다.
-
Operator 설치 페이지에서:
- Update Channel 아래에서 stable을 선택합니다.
- Installed Namespace 아래에서 원하는 네임스페이스를 선택하고 Install을 선택합니다.

설치된 Operator 페이지에서 GitLab Operator가 준비되면 상태가 Succeeded로 변경됩니다.

Kubernetes에 설치#
OperatorHub.io의 안정 채널에서 GitLab Runner Operator를 사용하여 Kubernetes v1.21 이상에 GitLab Runner를 설치합니다. 설치 후 새로 배포된 GitLab Runner 인스턴스를 사용하여 GitLab CI/CD 잡을 실행할 수 있습니다. 각 CI/CD 잡은 별도의 파드에서 실행됩니다.
사전 조건#
- Kubernetes v1.21 이상
- Cert manager v1.7.1
Kubernetes Operator 설치#
OperatorHub.io의 안내를 따르세요.
- 사전 조건을 설치합니다.
- 오른쪽 상단에서 Install을 선택하고 안내에 따라
olm과 Operator를 설치합니다.
GitLab Runner 설치#
-
러너 인증 토큰을 획득합니다. 다음 중 하나를 선택할 수 있습니다:
-
GitLab Runner 토큰으로 시크릿 파일을 생성합니다:
cat > gitlab-runner-secret.yml << EOF apiVersion: v1 kind: Secret metadata: name: gitlab-runner-secret type: Opaque # Only one of the following fields can be set. The Operator fails to register the runner if both are provided. # NOTE: runner-registration-token is deprecated and will be removed in GitLab 18.0. You should use runner-token instead. stringData: runner-token: REPLACE_ME # your project runner token # runner-registration-token: "" # your project runner secret EOF -
다음 명령을 실행하여 클러스터에
secret을 생성합니다:kubectl apply -f gitlab-runner-secret.yml -
CRD(Custom Resource Definition) 파일을 생성하고 다음 구성을 포함시킵니다.
cat > gitlab-runner.yml << EOF apiVersion: apps.gitlab.com/v1beta2 kind: Runner metadata: name: gitlab-runner spec: gitlabUrl: https://gitlab.example.com buildImage: alpine token: gitlab-runner-secret EOF -
이제 다음 명령을 실행하여
CRD파일을 적용합니다:kubectl apply -f gitlab-runner.yml -
다음 명령을 실행하여 GitLab Runner 설치를 확인합니다:
kubectl get runner NAME AGE gitlab-runner 5m -
러너 파드도 표시되어야 합니다:
kubectl get pods NAME READY STATUS RESTARTS AGE gitlab-runner-bf9894bdb-wplxn 1/1 Running 0 5m
OpenShift용 다른 버전의 GitLab Runner Operator 설치#
Red Hat OperatorHub에서 제공하는 GitLab Runner Operator 버전을 사용하지 않으려면 다른 버전을 설치할 수 있습니다.
공식적으로 사용 가능한 Operator 버전을 확인하려면 gitlab-runner-operator 리포지터리의 태그를 확인하세요.
Operator가 실행 중인 GitLab Runner 버전을 알려면 관심 있는 커밋 또는 태그의 APP_VERSION 파일 내용을 확인하세요. 예를 들어, https://gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/-/blob/1-17-stable/APP_VERSION.
특정 버전을 설치하려면 이 catalogsource.yaml 파일을 생성하고 을 태그 또는 특정 커밋으로 교체합니다:
특정 커밋의 이미지를 사용할 때 태그 형식은 v0.0.1-입니다. 예를 들어: registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/gitlab-runner-operator-catalog-source:v0.0.1-f5a798af.
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: gitlab-runner-catalog
namespace: openshift-marketplace
spec:
sourceType: grpc
image: registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/gitlab-runner-operator-catalog-source:
displayName: GitLab Runner Operators
publisher: GitLab Community
다음 명령으로 CatalogSource를 생성합니다:
oc apply -f catalogsource.yaml
잠시 후 새 러너가 OpenShift 클러스터의 OperatorHub 섹션에 나타납니다.
오프라인 환경의 Kubernetes 클러스터에 GitLab Runner Operator 설치#
사전 조건:
- 설치 프로세스에 필요한 이미지에 액세스할 수 있어야 합니다.
설치 중 컨테이너 이미지를 가져오려면 GitLab Runner Operator가 외부 네트워크의 공용 인터넷에 연결되어야 합니다. Kubernetes 클러스터가 오프라인 환경에 설치되어 있다면, 설치 중 이미지나 패키지를 가져오기 위해 로컬 이미지 레지스트리 또는 패키지 리포지터리를 사용하세요.
로컬 리포지터리는 다음 이미지를 제공해야 합니다:
| 이미지 | 기본값 |
|---|---|
| GitLab Runner Operator 이미지 | registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/gitlab-runner-operator:vGITLAB_RUNNER_OPERATOR_VERSION |
| GitLab Runner 및 GitLab Runner Helper 이미지 | 이 이미지들은 GitLab Runner UBI Images 레지스트리에서 다운로드되며 Runner Custom Resources를 설치할 때 사용됩니다. 사용되는 버전은 요구 사항에 따라 다릅니다. |
| RBAC Proxy 이미지 | registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/openshift4/ose-kube-rbac-proxy:v4.13.0 |
-
다운로드한 소프트웨어 패키지와 컨테이너 이미지를 호스팅하기 위해 연결이 끊어진 네트워크 환경에 로컬 리포지터리나 레지스트리를 설정합니다. 다음을 사용할 수 있습니다:
- 컨테이너 이미지를 위한 Docker 레지스트리
- Kubernetes 바이너리 및 의존성을 위한 로컬 패키지 레지스트리
-
GitLab Runner Operator v1.23.2 이상의 경우, 최신 버전의
operator.k8s.yaml파일을 다운로드합니다:curl -O "https://gitlab.com/gitlab-org/gl-openshift/gitlab-runner- operator/-/releases/vGITLAB_RUNNER_OPERATOR_VERSION/downloads/operator.k8s.yaml" -
operator.k8s.yaml파일에서 다음 URL을 업데이트합니다:GitLab Runner Operator imageRBAC Proxy image
-
업데이트된
operator.k8s.yaml파일을 설치합니다:kubectl apply -f PATH_TO_UPDATED_OPERATOR_K8S_YAML GITLAB_RUNNER_OPERATOR_VERSION = 1.23.2+
Operator 제거#
Red Hat OpenShift에서 제거#
-
Runner
CRD삭제:kubectl delete -f gitlab-runner.yml -
secret삭제:kubectl delete -f gitlab-runner-secret.yml -
웹 콘솔을 사용하여 클러스터에서 Operator 삭제에 대한 Red Hat 문서의 안내를 따르세요.
Kubernetes에서 제거#
-
Runner
CRD삭제:kubectl delete -f gitlab-runner.yml -
secret삭제:kubectl delete -f gitlab-runner-secret.yml -
Operator 구독 삭제:
kubectl delete subscription my-gitlab-runner-operator -n operators -
설치된
CSV버전 확인:kubectl get clusterserviceversion -n operators NAME DISPLAY VERSION REPLACES PHASE gitlab-runner-operator.v1.7.0 GitLab Runner 1.7.0 Succeeded -
CSV삭제:kubectl delete clusterserviceversion gitlab-runner-operator.v1.7.0 -n operators
구성#
OpenShift에서 GitLab Runner를 구성하려면 OpenShift에서 GitLab Runner 구성 페이지를 참조하세요.
모니터링#
GitLab Runner Operator 배포의 모니터링 및 메트릭 수집을 활성화하려면 GitLab Runner Operator 모니터링을 참조하세요.
