概要
前回作成したミニPC
に対して、新たにブリッジ接続するための設定を行い、仮想ホスト以外のPCからアクセスできるようにする。
さらに、それで作った仮想ゲスト(Almalinux9.3)にdockerを構築し、その上でgitlabを構築できるようにする。完成後の構成図は以下の通り。
KVMゲストを、外部(仮想ホスト以外)からアクセスできるようにする。
以下の手順を参考にする。なお、外部とはいってもグローバルIPはつけないので、自宅のネットワーク環境内部にある、他のVMなどからのアクセスという意味である。
デフォルトでvirbr0という名前のブリッジが作成されているが、NAT接続されているため、外部から仮想ゲストに対してアクセスする事ができない。
新しくbr0をいう名前のブリッジを作成してホストと同じネットワークに接続していく。
また、ゲストを作成するときにpermission denied
が再度出力されたので、以下の手順を試して、無事にゲストを作成する事ができた。ここで変えたのは/etc/libvirt/qemu.conf
の変更と、libvirtの再起動だけであるが。
dockerのインストール。
これは単純。以下のコマンドを実行する。
sudo yum install docker
Gitlabを立てる
以下の手順を参考にする。
まずは、SELinuxを無効にする。
vi /etc/selinux/config
SELINUX=disabled
その後、再起動させる。
sudo reboot
そして、まずは以下のコマンドを実行し、gitlabの構築に使うストレージとなるディレクトリを作成する。
mkdir -p /srv/gitlab/config
mkdir -p /srv/gitlab/logs
mkdir -p /srv/gitlab/data
その後、以下のコマンドを実行すれば、gitlabを使えるようになる。
ここではdockerホストの
- 80番ポート
- 443番ポート
- 2222番ポート
を使っている。22番を本来sshで使うが、かぶりにより立ち上げる事ができなかったので、2222にしている。(普段のSSHとかぶっているのであろう。)
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ee:latest
5分ほど待つと、立ち上がるのがわかる。
[root@my-docker setup]# docker ps
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8bddaad9405 docker.io/gitlab/gitlab-ee:latest /assets/wrapper 2 hours ago Up 2 hours (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:2222->22/tcp gitlab
[root@my-docker setup]#
[root@my-docker setup]#
以下のコマンドを実行し、gitlabの初期パスワードを確認する。(コンテナのログの中に含まれているらしい。)
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
ユーザー名:root
パスワード:先ほどのコマンドから取得したもの
で、ログインできる。
ログインするとこのような形でちゃんとダッシュボードに入れるのがわかる。