正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab Runner Operatorをインストールする

Red Hat OpenShiftにインストールする

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

OpenShiftのWebコンソールで、OperatorHubにあるstableチャネルから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. 左側のペインで、OperatorsOperatorHubの順に選択します。

  3. メインペインのAll Itemsの下で、キーワードGitLab Runnerを検索します。

    GitLab Operator

  4. インストールするには、GitLab Runner Operatorを選択します。

  5. GitLab Runner Operatorの概要ページでInstallを選択します。

  6. Install Operatorページで、次の手順を実行します:

    1. Update Channelで、stableを選択します。
    2. Installed Namespaceで、目的のネームスペースを選択し、Installを選択します。

    GitLab Operatorのインストールページ

Installed Operatorsページで、GitLab Operatorの準備が整うと、ステータスがSucceededに変わります。

GitLab Operatorのインストールステータス

Kubernetesにインストールする

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

OperatorHub.ioのstableチャネルから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. Runner認証トークンを取得します。次のいずれかの方法があります:

  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)ファイルを作成し、次の設定を含めます。

    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. Runnerポッドも表示されるはずです:

    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

1分ほどで、新しい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カスタムリソースのインストール時に使用されます。使用するバージョンは要件によって異なります。
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. Red HatドキュメントのDeleting Operators from a cluster using the web consoleの手順に従ってください。

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をモニタリングするを参照してください。