GitLab Runner Operator 설치
Red Hat OpenShift에 설치
GitLab Runner Operator로 Red Hat OpenShift v4 이상에 GitLab Runner를 설치할 수 있습니다. GitLab Runner Operator는 OpenShift의 웹 콘솔에 포함된 OperatorHub의 stable 채널에서 사용할 수 있습니다. 설치 완료 후에는 새로 배포된 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 요약 페이지에서 설치를 클릭합니다.
- 설치 페이지에서:
- Update Channel에서 stable를 선택합니다.
- Installed Namespace에서 원하는 네임스페이스를 선택하고 Install을 클릭합니다.
설치된 Operator 페이지에서 GitLab Operator가 준비되면 상태가 Succeeded로 변경됩니다.
Kubernetes에 설치
GitLab Runner Operator로 Kubernetes v1.21 이상에 GitLab Runner를 설치할 수 있습니다. GitLab Runner Operator는 OperatorHub.io의 stable 채널에서 사용할 수 있습니다. 설치 완료 후에는 새로 배포된 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 stringData: runner-token: REPLACE_ME # 프로젝트 러너 토큰 EOF
-
클러스터에서 시크릿을 생성합니다.
kubectl apply -f gitlab-runner-secret.yml
-
CRD 파일을 만들고 다음 구성을 포함합니다.
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
파일을 만들고 <VERSION>
을 태그 또는 특정 커밋으로 대체하세요:
참고:
특정 커밋에 대한 이미지를 사용할 때 태그 형식은 v0.0.1-<COMMIT>
입니다. 예: 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:<VERSION>
displayName: GitLab Runner Operators
publisher: GitLab Community
다음 명령으로 CatalogSource
를 만드세요:
oc apply -f catalogsource.yaml
몇 분 내에 새로운 Runner가 OpenShift 클러스터의 OperatorHub 섹션에 표시됩니다.
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 구성하기 페이지를 참조하세요.