Rancher2.0をつかって、研究室にGitlabを導入してみる
僕の研究室では、プログラムのソースコード管理にGitを使っていて、リモートリポジトリとしてGitBucketを研究室内のサーバ上に立ち上げています。また、GitBucketのほかにも、LDAP、Wiki、knowledge、メールサービス、メーリングリストなど様々なサービスがあり、管理がとても大変です。
これらのサービスを、Docker (コンテナ)で立ち上げることができれば少しは管理が楽になるのではないかという淡い期待から、サービスをDockerで立ち上げてみたいと思いました。また、研究室に所属する様々な人が使うことを考え、DockerをGUIから管理したいという気持ちがあります。
記事概要
そこで本記事では、GUIでDockerコンテナを管理するために、Rancher2.0をセットアップする手順を書きます。また、Rancher2.0を使ってGitlabをセットアップします。
対象読者
Rancher2.0ではKubernetesという技術を使っているので「Kubernetesを触ってみたい」と思っている方、また、GUIからコンテナを管理できるため「コンテナをGUIから管理したい」という方に読んでいただきたいです。
1. 環境
- CentOS Linux release 7.5.1804 (Core)
2. Rancherのセットアップ
公式のQuickStartのとおりに、Rancherをインストールしていきます。
Dockerのインストール
Rancherをインストールする前に、Dockerのインストールが必要です。下記のコマンドをrootかsudo権限のあるユーザーで実行します。
$ sudo yum update $ curl -sSL https://get.docker.com/ | sh
Dockerデーモンを起動します。
$ sudo service docker start
Rancherの起動
Rancherは、下記のコマンドを実行するだけで起動できます。お手軽ですね!
$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
コマンドを実行したら、https://[host-ip]/
にアクセスします。
アクセスすると、adminのパスワード設定の画面がでてくるので、入力します。
クラスタの追加
クラスタを追加していきます。Customをクリックします。クラスタ名を入力してNextをクリックします。
次のページのNode Roleは、全て選択します。表示されるコマンドをクラスタに追加したいホストで実行します。(実行するホストにはDockerのインストールが必要です)
数分でクラスタが作成され、Activeになります。
Volumesの設定
ホストにNFSサーバーを立ち上げます。下記のページを参考に「NFSサーバの設定」を行ってください。 qiita.com
サーバーの設定ができたら、RancherにVolumesを追加していきます。
クラスタのDash boardの上部メニューバーから、Volumesページに移動します。Add Volumesをクリックします。
下記のように設定すれば追加できます。
次に、Defaultプロジェクトに戻ってVolumesを追加します。Presistent Volumeでは先程追加したものを選択します。
3. Gitlabのインストール
上部のメニューから、作成したクラスタのDefaultプロジェクトをクリックします。表示されるWorkloadsページで、Deployをクリックします。
NameとDocker imageを入力します。ここでは、Docker HubのGitlabのイメージを使います。gitlab/gitlab-ce:latest
と入力するだけ、とても簡単です。
Port mappingとVolumesは画像のように設定します。
Gitlabが起動するまで結構時間がかかりますが、起動するとrootのパスワードを設定する画面が表示されます。
4. さいごに
かなり簡単にGitlabのサービスを起動することができました。ほかのサービスも、Docker Hubのイメージを使えば簡単に起動することができそうです。
Rancher2.0は、Kubernetesというコンテナオーケストレーションの技術をつかっています。 興味のある方は、下記のイベントに参加してみてはいかがでしょうか。 othlotech.connpass.com