OthloBlog - オスロブログ -

名古屋のIT系学生コミュニティOthloTechのブログです。

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のパスワード設定の画面がでてくるので、入力します。 f:id:haseaki0503:20180819183505p:plain

クラスタの追加

クラスタを追加していきます。Customをクリックします。クラスタ名を入力してNextをクリックします。 f:id:haseaki0503:20180819183816p:plain

次のページのNode Roleは、全て選択します。表示されるコマンドをクラスタに追加したいホストで実行します。(実行するホストにはDockerのインストールが必要です) f:id:haseaki0503:20180819184214p:plain

数分でクラスタが作成され、Activeになります。

Volumesの設定

ホストにNFSサーバーを立ち上げます。下記のページを参考に「NFSサーバの設定」を行ってください。 qiita.com

サーバーの設定ができたら、RancherにVolumesを追加していきます。
クラスタのDash boardの上部メニューバーから、Volumesページに移動します。Add Volumesをクリックします。 f:id:haseaki0503:20180819185925p:plain

下記のように設定すれば追加できます。 f:id:haseaki0503:20180819190200p:plain

次に、Defaultプロジェクトに戻ってVolumesを追加します。Presistent Volumeでは先程追加したものを選択します。 f:id:haseaki0503:20180819190624p:plain

3. Gitlabのインストール

上部のメニューから、作成したクラスタのDefaultプロジェクトをクリックします。表示されるWorkloadsページで、Deployをクリックします。 NameとDocker imageを入力します。ここでは、Docker HubのGitlabのイメージを使います。gitlab/gitlab-ce:latestと入力するだけ、とても簡単です。 Port mappingとVolumesは画像のように設定します。 f:id:haseaki0503:20180819185510p:plain

Gitlabが起動するまで結構時間がかかりますが、起動するとrootのパスワードを設定する画面が表示されます。 f:id:haseaki0503:20180819190737p:plain

4. さいごに

かなり簡単にGitlabのサービスを起動することができました。ほかのサービスも、Docker Hubのイメージを使えば簡単に起動することができそうです。

Rancher2.0は、Kubernetesというコンテナオーケストレーションの技術をつかっています。 興味のある方は、下記のイベントに参加してみてはいかがでしょうか。 othlotech.connpass.com