インストール

このドキュメントでは、KubernetesまたはOpenShiftクラスターにマニフェスト経由でGitLab Operatorをデプロイする方法を説明します。

OpenShiftを使用している場合、これらの手順は通常、オペレータがバンドル公開されると、OLM(オペレータライフサイクルマネージャ)によって処理されます。しかし、最新のオペレータイメージをテストするために、ユーザーは、オペレータリポジトリで利用可能なデプロイマニフェストを使用してオペレータをインストールする必要があるかもしれません。

前提条件

インストールページの「前提条件」セクションを参照してください。

GitLab オペレータのインストール

  1. GitLab Operatorリポジトリをローカルシステムにクローンします。

    git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git
    cd gitlab-operator
    
  2. GitLab Operatorをデプロイします。

    kubectl create namespace gitlab-system
    task deploy_operator # or "task deploy_operator_openshift"
    

    このコマンドは、まずオペレータが使用するサービスアカウント、ロール、ロールバインディングをデプロイし、次にオペレータ自身をデプロイします。

    note
    デフォルトでは、オペレータはデプロイされたネームスペースのみを監視します。クラスター・スコープで監視するようにするには deploy/chart/values.yamlwatchClustertrueに設定することで変更してください。
  3. GitLabカスタムリソース(CR) を作成します。

    mygitlab.yaml のような名前の新規ファイルを作成します。

    このファイルに入れる内容の例を示します:

    apiVersion: apps.gitlab.com/v1beta1
    kind: GitLab
    metadata:
      name: gitlab
    spec:
      chart:
        version: "X.Y.Z" # select a version from the CHART_VERSIONS file in the root of this project
        values:
          global:
            hosts:
              domain: example.com # use a real domain here
            ingress:
              configureCertmanager: true
          certmanager-issuer:
            email: youremail@example.com # use your real email address here
    

    spec.chart.values で使う設定オプションの詳細については、GitLab Helm Chart ドキュメントをご覧ください。

  4. 新しい GitLab CR を使って GitLab インスタンスをデプロイします。

    kubectl -n gitlab-system apply -f mygitlab.yaml
    

    このコマンドはGitLab CRをクラスターに送り、GitLab Operatorが照合します。コントローラのポッドからログを追いかけることで、進捗を見ることができます:

    kubectl -n gitlab-system logs deployment/gitlab-controller-manager -c manager -f
    

    GitLab リソースをリストアップしてステータスを確認することもできます:

    kubectl get gitlabs -n gitlab-system
    

    CRが照合されると(GitLabリソースのステータスはRUNNING )、ブラウザでGitLabにアクセスすることができますhttps://gitlab.example.com

クリーンアップ

config/ ディレクトリ下のファイル削除のようなオペレーションによっては、リビルド/リデプロイが実行されないことがあります:

task clean

これにより、すべてのビルドアーティファクトとインストールレコードが削除されます。

GitLab オペレータをアンインストールします。

GitLab Operatorと関連リソースを削除するには、以下の手順に従ってください。

オペレーターをアンインストールする前に注意すべきオペレーション:

  • オペレーターは、GitLabインスタンスが削除されても、Persistent Volume Claimsやシークレットを削除しません。
  • オペレーターを削除するとき、オペレーターがインストールされているネームスペース(デフォルトではgitlab-system )は自動的に削除されません。これは、永続ボリュームが意図せずに失われないようにするためです。

GitLab のインスタンスをアンインストールします。

kubectl -n gitlab-system delete -f mygitlab.yaml

GitLabインスタンスと、(上記のPVC)以外の関連オブジェクトを削除します。

GitLab オペレータをアンインストールします。

task delete_operator

実行中のデプロイを含め、Operatorのリソースを削除します。GitLabインスタンスに関連付けられているオブジェクトは削除されません。