Help us understand the problem. What is going on with this article?

Rancher 2.3 で Redmine を立ち上げる on GKE

More than 1 year has passed since last update.

image.png

こんにちは、TOPGATE でインフラエンジニア兼プロジェクトマネージャをやっています堤です。

前回の記事に引き続き Rancher を取り上げたいと思います。

【前回】Rancher 2.3 を使って GKE を構築してみた

今回は表題の通り、プロジェクト管理ツールである Redmine を Rancher を使って GKE 上に構成したいと思います。

Rancher には、Catalog という機能があります。こちらは、Kubernetes のパッケージ管理システムの一つである Helm を用いてアプリケーションのデプロイを行います。この機能を用いることで、メジャーな OSS のアプリ(WordPress、Nginxなど)なら、簡単に GKE 上にデプロイすることができます。

1. Project/Namespace

アプリケーションをデプロイする前に、デプロイ先の Project と Namespace を設定します。これは必須の設定ではありませんので、すぐに試したい方は、読み飛ばしてい頂いて結構です。

Namespace(名前空間)とは、 Kubernetes 機能の一つです。簡単にいうと、ひとつの物理的な Kubernetes クラスタ上に、仮想的なクラスタを作って、分割・グルーピングするための機能です。Namespace ごとにアクセスできるユーザを設けたり、 リソース(CPU,メモリなど)のクオータを設定することもできます。詳細は以下を御覧ください。

https://kubernetes.io/ja/docs/concepts/overview/working-with-objects/namespaces/

あと、Project は、Rancher 特有の機能です。 上記の Namespace を複数束ねる機能といった機能と考えてください。Namespace と同様に、ユーザの紐付けやリソースのクオータの設定もできます。この記事では詳細は触れません。※参考:Projects and Namespaces

Project の追加

Project を一つ追加します。今回は例として、 Osaka という名前で作ります。

rancher-pj01.png

rancher-pj02.png

Namespace の追加

次に、 Namespace を追加します。今回は Redmine という Namespace を作ります。今回は、特にクオータの設定などは行いません。

rancher-pj03.png

rancher-pj04.png

2. Catalog の設定

次に Catalog の設定を行います。Rancher 構築直後は、Redmine が含まれている helm が無効になっているので有効にします。ついでに、helm-incubator も有効にします。

  • helm: helm が作成した Chart 安定版
  • helm-incubator: helm が作成した Chart 非安定版

rancher-app02.png

rancher-app03.png

3. アプリケーション(Redmine)のデプロイ

3-1. カタログより Redmine を起動させる

Catalog の設定が完了したら、アプリケーションのデプロイに入りましょう。アプリケーションのデプロイはとても簡単です。【 クラスタ名 】→【 プロジェクト名 】→【 Apps 】のメニューを開き、Launch を押します。

次に一覧から Redmine を選択します。

ScreenShot 2019-11-13 18.18.04.png

image.png

すると、以下のページが表示されます。Detailed Description を開くと、アプリの概要やパラメータの意味が書かれていますので、一読しておきましょう。

ScreenShot 2019-11-13 18.19.37.png

今回は、Redmine を日本語で入れたいので Answers のところで、「redmineLanguage」を「ja」に設定します。その他は、デフォルト値のままでデプロイします。そして、「Launch」を押して Redmine のデプロイを開始します。

ScreenShot 2019-11-13 18.19.54.png

しばらくすると(1〜2分程度)、以下の画面のようにデプロイが完了し Active となります。

ScreenShot 2019-11-13 18.54.10.png

3-2. Redmine へのログイン

接続先情報(ユーザ名、パスワード)

【 クラスタ名 】→【 プロジェクト名 】→【 Apps 】→【 Redmine 】を開きます。一番上の Notes を開くと、説明書きが書かれています。

ScreenShot 2019-11-13 18.26.35.png

ユーザ名は user と設定されており、パスワードはランダムな文字列が設定されております。パスワードを取得するには、Notes にかかれている通りのコマンドを実行する必要があります。

echo Password: $(kubectl get secret --namespace redmine redmine -o jsonpath="{.data.redmine-password}" | base64 --decode)

コマンドの実行は、実は Rancher の UI を使って実行することができます。【クラスタ名】→【Cluster】の画面に移動すると、右上に Launch kubectl ボタンがあるので、これを押すと CLI 画面が出てきます。そこに、上記のコマンドを実行するとパスワードが表示されます。

ScreenShot 2019-11-13 19.03.34.png

ScreenShot 2019-11-13 18.30.08.png

サーバ IP アドレスの取得

【 クラスタ名 】→【 プロジェクト名 】→【 Apps 】→【 Redmine 】を開きます。 Endpoints にサーバのIPアドレスが表示されていますので、これで接続すると Redmine に接続できます。

ScreenShot 2019-11-13 19.06.40.png

Redmineにログイン

ログイン画面を立ち上げます。

ScreenShot 2019-11-13 19.09.13.png

そして先程取得したアカウントでログインすると以下のようになります。user アカウントは、初期値の言語が英語になっているので、ログインすると英語になってしまいます(笑

ScreenShot 2019-11-13 19.10.11.png

以上です。

Rancher の雰囲気は伝わったのではないかと思います。

今後も、Rancher を積極的に使って、気づいたことがあれば Qiita に投稿していきたいと思います。最後まで読んでいただきましてありがとうございます。

maro_kt
アジアの山々を走る「コードの書けるインフラエンジニア」。GCP、AWS、Docker、Kubernetes、Pythonあたり。 アジアのトレイルレース情報をまとめたブログ「GO ASIA TRAIL」を運営してます。旅行ついでにトレイルレースを走るのが好きです。最近は中華圏の文化にハマっています。
https://www.goasiatrail.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away