Appendix. Install the GitLab on OpenShift
演習の概要
このモジュールでは、 こちらの手順を参考にしながら、 OpenShiftのGitLab Operatorを利用してGitLabをインストールします。
OpenShiftの管理者アカウント( kubeadmin や cluster-admin など)を利用します。
|
cert-manager Operatorのインストール
GitLabを利用するための証明書発行機能を持つ、cert-manager Operatorを利用してGitLabをインストールします。 OpenShift環境にログインして、「ソフトウェアカタログ」から「cert-manager Operator for Red Hat OpenShift」を選択して、 「インストール」ボタンをクリックして、インストールします。インストール時のオプションは、全てデフォルト値を利用します。
これで、cert-manager Operatorのインストールは完了です。
GitLab Operatorのインストール
続いて、GitLab Operatorをインストールします。 cert-manager Operatorの時と同様に、「ソフトウェアカタログ」からCertified版のGitLab Operatorを選択して、 「インストール」ボタンをクリックして、インストールを完了します。インストール時のオプションは、全てデフォルト値を利用します。
これで、GitLab利用に必要となるOperatorのインストールは完了です。
GitLab インスタンスの作成
GitLab Operatorを利用して、GitLabインスタンスを作成します。 「インストール済みのOperator」メニューから「GitLab」を選択して、「インスタンスの作成」をクリックします。
GitLab インスタンスを作成するためのYAMLが表示されます。 これを以下のように修正します。
kind: GitLab
apiVersion: apps.gitlab.com/v1beta1
metadata:
name: gitlab
namespace: gitlab-system
spec:
chart:
values:
prometheus:
install: false
gitlab:
gitlab-shell:
maxReplicas: 1
minReplicas: 1
sidekiq:
maxReplicas: 1
minReplicas: 1
resources:
requests:
cpu: 500m
memory: 1000M
webservice:
maxReplicas: 1
minReplicas: 1
resources:
requests:
cpu: 500m
memory: 1500M
global:
hosts:
domain: <OpenShift環境で利用されているドメインを設定>
hostSuffix: null
ingress:
annotations:
route.openshift.io/termination: edge
kubernetes.io/tls-acme: true
class: none
installCertmanager: false
certmanager-issuer:
email: <証明書発行者のメールアドレスを設定>
minio:
resources:
requests:
cpu: 100m
postgresql:
primary:
extendedConfiguration: max_connections = 200
redis:
resources:
requests:
cpu: 100m
version: 9.7.0
デフォルトで表示されるYAMLからの変更点は次の通りです。
-
検証用途を想定して
maxReplicasを1に設定して、冗長構成を排除 -
OpenShiftでデフォルトで用意されるPrometheusがあるため、
spec.chart.values.prometheus.installをfalseに変更 -
spec.chart.values.global.ingress.annotationsを設定して、OpenShift上でのGitLabサービスを公開するための Routeを利用 (Nginx-ingressは利用しない) -
GitLabサービスを利用するためのドメインを指定。ドメインはOpenShift ConsoleのURLなどを参照(例:
https://console-openshift-console.<ドメイン>/) -
cert-manager による証明書発行者のメールアドレスを指定
上記のYAMLをコピペしたら、「作成」ボタンをクリックしてGitLabインスタンスを作成します。
5~10分ほど待つと、GitLabインスタンスが Running 状態になります。
この状態になると、GitLabのWebコンソールにログインできるようになります。
以下の画像の例ではURLがいくつか提示されていますが gitlab 文字列を含むURLを利用します。
アクセスすると、GitLabのログイン画面が表示されます。
GitLabインスタンス作成時に自動作成される管理者アカウント root ユーザーでログインします。
root ユーザーのパスワードは、OpenShift Webコンソールの「シークレット」メニューにある、
gitlab-system プロジェクトの gitlab-gitlab-initial-root-password シークレットから確認できます。
「値を表示する」をクリックすると、パスワードを確認できます。
ログインすると、次のような画面が表示されます。 英語になっている場合は、画面右上のユーザーアイコンの「Preferences(設定)」から「Language」を日本語に設定して、 変更保存することで、日本語への表示変更ができます。
GitLab の利用
GitLabのログイン後の画面に表示される「人を追加」メニューからローカルユーザーアカウントを追加したり、 「プロジェクトを作成」からコードのリポジトリを作成できるようになっています。GitLabでのコード管理については、 公式ガイドの ステップ1とステップ2を最低限実施するといいでしょう。
他にも様々なガイドがGitLabから提供されているので、参考にしてください。