- Red Hat OpenShift에 설치하기
- Kubernetes에 설치하기
- 오프라인 환경에서 Kubernetes 클러스터에 GitLab Runner Operator 설치
- 오퍼레이터 제거
GitLab Runner Operator 설치하기
Red Hat OpenShift에 설치하기
Offering: GitLab.com, Self-managed
Red Hat OpenShift v4 및 이후 버전에서 GitLab Runner Operator를 사용하여 GitLab Runner를 설치할 수 있습니다. OpenShift의 웹 콘솔에 내장된 OperatorHub의 안정적인 채널에서 사용할 수 있습니다. 설치 후 새로 배포된 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을 클릭합니다.
- Install Operator 페이지에서:
- Update Channel에서 stable을 선택합니다.
- Installed Namespace에서 원하는 네임스페이스를 선택하고 Install을 클릭합니다.
Installed Operators 페이지에서 GitLab Operator가 준비되면 상태가 Succeeded로 변경됩니다.
Kubernetes에 설치하기
Offering: GitLab.com, Self-managed
Kubernetes v1.21 및 이후 버전에서 GitLab Runner Operator를 사용하여 GitLab Runner를 설치할 수 있습니다. OperatorHub.io의 안정적인 채널에서 사용할 수 있습니다. 설치 후 새로 배포된 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 # 다음 필드 중 하나만 설정할 수 있습니다. 두 개가 제공되면 Operator가 러너를 등록하지 못합니다. # 주의: runner-registration-token은 더 이상 사용되지 않으며 GitLab 18.0에서 제거됩니다. 대신 runner-token을 사용해야 합니다. stringData: runner-token: REPLACE_ME # 프로젝트 러너 토큰 # runner-registration-token: "" # 프로젝트 러너 비밀 EOF
-
다음 명령을 실행하여 클러스터에
secret
을 생성합니다:kubectl apply -f gitlab-runner-secret.yml
-
Custom Resource Definition (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 섹션에 나타나야 합니다.
오프라인 환경에서 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 이미지
RBAC Proxy 이미지
-
업데이트된 버전의
operator.k8s.yaml
파일을 설치하세요:kubectl apply -f PATH_TO_UPDATED_OPERATOR_K8S_YAML GITLAB_RUNNER_OPERATOR_VERSION = 1.23.2+
오퍼레이터 제거
Red Hat OpenShift에서 제거
-
Runner
CRD
삭제:kubectl delete -f gitlab-runner.yml
-
secret
삭제:kubectl delete -f gitlab-runner-secret.yml
-
웹 콘솔을 사용하여 클러스터에서 오퍼레이터를 삭제하는 방법에 대한 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 구성 페이지를 참조하세요.