InfoGrab Docs

GitLab Runner Operator 설치

요약

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를 설치해야 합니다.

  1. OpenShift UI를 열고 관리자 권한이 있는 사용자로 로그인합니다.

  2. 왼쪽 창에서 Operators를 선택한 다음 OperatorHub를 선택합니다.

  3. 메인 창의 All Items 아래에서 GitLab Runner 키워드를 검색합니다.

    GitLab Operator

  4. 설치하려면 GitLab Runner Operator를 선택합니다.

  5. GitLab Runner Operator 요약 페이지에서 Install을 선택합니다.

  6. Operator 설치 페이지에서:

    1. Update Channel 아래에서 stable을 선택합니다.
    2. Installed Namespace 아래에서 원하는 네임스페이스를 선택하고 Install을 선택합니다.

    GitLab Operator Install Page

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

GitLab Operator Install Status

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의 안내를 따르세요.

  1. 사전 조건을 설치합니다.
  2. 오른쪽 상단에서 Install을 선택하고 안내에 따라 olm과 Operator를 설치합니다.

GitLab Runner 설치#

  1. 러너 인증 토큰을 획득합니다. 다음 중 하나를 선택할 수 있습니다:

    • 인스턴스, 그룹, 또는 프로젝트 러너를 생성합니다.
    • config.toml 파일에서 러너 인증 토큰을 찾습니다. 러너 인증 토큰의 접두사는 glrt-입니다.
  2. 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
    
  3. 다음 명령을 실행하여 클러스터에 secret을 생성합니다:

    kubectl apply -f gitlab-runner-secret.yml
    
  4. 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
    
  5. 이제 다음 명령을 실행하여 CRD 파일을 적용합니다:

    kubectl apply -f gitlab-runner.yml
    
  6. 다음 명령을 실행하여 GitLab Runner 설치를 확인합니다:

    kubectl get runner
    NAME             AGE
    gitlab-runner    5m
    
  7. 러너 파드도 표시되어야 합니다:

    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 파일을 생성하고 을 태그 또는 특정 커밋으로 교체합니다:

Note

특정 커밋의 이미지를 사용할 때 태그 형식은 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 RunnerGitLab 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
  1. 다운로드한 소프트웨어 패키지와 컨테이너 이미지를 호스팅하기 위해 연결이 끊어진 네트워크 환경에 로컬 리포지터리나 레지스트리를 설정합니다. 다음을 사용할 수 있습니다:

    • 컨테이너 이미지를 위한 Docker 레지스트리
    • Kubernetes 바이너리 및 의존성을 위한 로컬 패키지 레지스트리
  2. 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"
    
  3. operator.k8s.yaml 파일에서 다음 URL을 업데이트합니다:

    • GitLab Runner Operator image
    • RBAC Proxy image
  4. 업데이트된 operator.k8s.yaml 파일을 설치합니다:

    kubectl apply -f PATH_TO_UPDATED_OPERATOR_K8S_YAML
    GITLAB_RUNNER_OPERATOR_VERSION = 1.23.2+
    

Operator 제거#

Red Hat OpenShift에서 제거#

  1. Runner CRD 삭제:

    kubectl delete -f gitlab-runner.yml
    
  2. secret 삭제:

    kubectl delete -f gitlab-runner-secret.yml
    
  3. 웹 콘솔을 사용하여 클러스터에서 Operator 삭제에 대한 Red Hat 문서의 안내를 따르세요.

Kubernetes에서 제거#

  1. Runner CRD 삭제:

    kubectl delete -f gitlab-runner.yml
    
  2. secret 삭제:

    kubectl delete -f gitlab-runner-secret.yml
    
  3. Operator 구독 삭제:

    kubectl delete subscription my-gitlab-runner-operator -n operators
    
  4. 설치된 CSV 버전 확인:

    kubectl get clusterserviceversion -n operators
    NAME                            DISPLAY         VERSION   REPLACES   PHASE
    gitlab-runner-operator.v1.7.0   GitLab Runner   1.7.0                Succeeded
    
  5. CSV 삭제:

    kubectl delete clusterserviceversion gitlab-runner-operator.v1.7.0 -n operators
    

구성#

OpenShift에서 GitLab Runner를 구성하려면 OpenShift에서 GitLab Runner 구성 페이지를 참조하세요.

모니터링#

GitLab Runner Operator 배포의 모니터링 및 메트릭 수집을 활성화하려면 GitLab Runner Operator 모니터링을 참조하세요.

GitLab Runner Operator 설치

Tier: Free, Premium, Ultimate
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를 설치해야 합니다.

  1. OpenShift UI를 열고 관리자 권한이 있는 사용자로 로그인합니다.

  2. 왼쪽 창에서 Operators를 선택한 다음 OperatorHub를 선택합니다.

  3. 메인 창의 All Items 아래에서 GitLab Runner 키워드를 검색합니다.

    GitLab Operator

  4. 설치하려면 GitLab Runner Operator를 선택합니다.

  5. GitLab Runner Operator 요약 페이지에서 Install을 선택합니다.

  6. Operator 설치 페이지에서:

    1. Update Channel 아래에서 stable을 선택합니다.
    2. Installed Namespace 아래에서 원하는 네임스페이스를 선택하고 Install을 선택합니다.

    GitLab Operator Install Page

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

GitLab Operator Install Status

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의 안내를 따르세요.

  1. 사전 조건을 설치합니다.
  2. 오른쪽 상단에서 Install을 선택하고 안내에 따라 olm과 Operator를 설치합니다.

GitLab Runner 설치#

  1. 러너 인증 토큰을 획득합니다. 다음 중 하나를 선택할 수 있습니다:

    • 인스턴스, 그룹, 또는 프로젝트 러너를 생성합니다.
    • config.toml 파일에서 러너 인증 토큰을 찾습니다. 러너 인증 토큰의 접두사는 glrt-입니다.
  2. 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
    
  3. 다음 명령을 실행하여 클러스터에 secret을 생성합니다:

    kubectl apply -f gitlab-runner-secret.yml
    
  4. 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
    
  5. 이제 다음 명령을 실행하여 CRD 파일을 적용합니다:

    kubectl apply -f gitlab-runner.yml
    
  6. 다음 명령을 실행하여 GitLab Runner 설치를 확인합니다:

    kubectl get runner
    NAME             AGE
    gitlab-runner    5m
    
  7. 러너 파드도 표시되어야 합니다:

    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 파일을 생성하고 을 태그 또는 특정 커밋으로 교체합니다:

Note

특정 커밋의 이미지를 사용할 때 태그 형식은 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 RunnerGitLab 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
  1. 다운로드한 소프트웨어 패키지와 컨테이너 이미지를 호스팅하기 위해 연결이 끊어진 네트워크 환경에 로컬 리포지터리나 레지스트리를 설정합니다. 다음을 사용할 수 있습니다:

    • 컨테이너 이미지를 위한 Docker 레지스트리
    • Kubernetes 바이너리 및 의존성을 위한 로컬 패키지 레지스트리
  2. 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"
    
  3. operator.k8s.yaml 파일에서 다음 URL을 업데이트합니다:

    • GitLab Runner Operator image
    • RBAC Proxy image
  4. 업데이트된 operator.k8s.yaml 파일을 설치합니다:

    kubectl apply -f PATH_TO_UPDATED_OPERATOR_K8S_YAML
    GITLAB_RUNNER_OPERATOR_VERSION = 1.23.2+
    

Operator 제거#

Red Hat OpenShift에서 제거#

  1. Runner CRD 삭제:

    kubectl delete -f gitlab-runner.yml
    
  2. secret 삭제:

    kubectl delete -f gitlab-runner-secret.yml
    
  3. 웹 콘솔을 사용하여 클러스터에서 Operator 삭제에 대한 Red Hat 문서의 안내를 따르세요.

Kubernetes에서 제거#

  1. Runner CRD 삭제:

    kubectl delete -f gitlab-runner.yml
    
  2. secret 삭제:

    kubectl delete -f gitlab-runner-secret.yml
    
  3. Operator 구독 삭제:

    kubectl delete subscription my-gitlab-runner-operator -n operators
    
  4. 설치된 CSV 버전 확인:

    kubectl get clusterserviceversion -n operators
    NAME                            DISPLAY         VERSION   REPLACES   PHASE
    gitlab-runner-operator.v1.7.0   GitLab Runner   1.7.0                Succeeded
    
  5. CSV 삭제:

    kubectl delete clusterserviceversion gitlab-runner-operator.v1.7.0 -n operators
    

구성#

OpenShift에서 GitLab Runner를 구성하려면 OpenShift에서 GitLab Runner 구성 페이지를 참조하세요.

모니터링#

GitLab Runner Operator 배포의 모니터링 및 메트릭 수집을 활성화하려면 GitLab Runner Operator 모니터링을 참조하세요.