2021年2月25日木曜日

LB 配下で複数の gitlab を動作させる場合は /etc/gitlab も共有しなければならない

概要

過去に複数の gitlab を LB 配下にぶら下げる方法を紹介しました
もし ssh で git clone する場合は鍵情報を複数の gitlab で共有しないと Host key verification failed. というエラーが発生します

環境

  • Gitlab-ee 13.8.4

対処方法

いろいろありますがコンテナの場合は /etc/gitlab を nfs ボリュームで共有するのが良いと思います
docker-compose であれば以下のような定義を追加しましょう (以下抜粋)

まず /etc/gitlab を共有する nfs ボリュームを作成します

volumes:
  etc_gitlab:
    driver_opts:
      type: nfs
      o: "addr=,rw,nfsvers=4"
      device: ":/"
...

あとはこれを使って gitlab コンテナの /etc/gitlab 領域をマウントします

services:
  gitlab:
    image: gitlab/gitlab-ee:13.8.4-ee.0
    ports:
      - "22:22"
      - "80:80"
    volumes:
      - etc_gitlab:/etc/gitlab # <- here
      - logs:/var/log/gitlab
...

また nfs は no_root_squash で作成しましょう

1 件のコメント:

  1. gitlab 側でも LB を使っている場合そちらの LB でもセキュリティポリシーを ATS (App Transport Security) 対応の LB にしないと「remote error: tls: handshake failure」が発生するようです

    返信削除