というわけで今日はCloudGarage上にJIRAを構築していこうと思うわけです。
CloudGarageではインスタンスが3台(以上)立ち上げられるので、以下のような構成を作ることにします。
CloudGarageではインスタンスが3台(以上)立ち上げられるので、以下のような構成を作ることにします。
- JIRA(とConfluence)用のDB(PostgreSQL)インスタンス
- JIRAアプリケーションを実行するインスタンス
- Confluenceアプリケーションを実行するインスタンス
- 各インスタンスはMackerelで監視
構築に使用した設定ファイル(のテンプレート)等はGitLabに置いてあります。
まずはJIRAのデータを置いておくDB用のインスタンスを構築していきます。
環境
PostgreSQLをがインストールできればいいのでOSはなんでもいいのですが、dockerでサクっと立ち上げて楽したいのと、RancherOSを使ってみたかったという理由でRnacherOSで構築することにします。
RancherOSがインストールできたらおもむろに
で、本来ならばCustom System Serviceを作ってPostgreSQLを起動させるといいんでしょうが、今回は手を抜いてdocker-composeをインストールすることになります。
「なんのためのRancherOSだ」と言う声が聞こえてきそうな気がしますが気にしません。
docker-composeのReleaseページからバイナリを取得してパスの通った場所に配置します。
docker-composeのReleaseページにもインストール方法は書いてありますが、RancherOSにはデフォでcurlがなかったり/usr/local/binがなかったりするので、wgetを使って/usr/binに配置するようにします。
次はJIRAのインスタンスを構築していきますが、それはまた別の日に
環境
PostgreSQLをがインストールできればいいのでOSはなんでもいいのですが、dockerでサクっと立ち上げて楽したいのと、RancherOSを使ってみたかったという理由でRnacherOSで構築することにします。
- OS: RancherOS
- 接続許可ポート:SSH(22)、PostgreSQL(5432)
- SSH Key:CloudGarageのコンソールからは設定できないが、RancherOSのインストール時にKeyが必要になるので作成しておくのがおすすめ。自前のKeyでやる場合はご自由に
Mackerelでの監視内容
手順
RancherOSはインスタンス作成直後はISOブートした状態なのでインストールを行います。
インストール方法はCloudGarageでRancherOSを使ってDocker imageを動かしてみたってQiitaの記事で解説されているので省略。mackerel-agentもdockerコンテナで動かすことにします。普通に動かすのに追加で以下のプラグインで取れるメトリックも取得することにします。(dockerコンテナにはあらかじめ公式プラグイン集が入ってるので楽ですね)
デフォだとlocalhostに接続しにいくみたい?かつREADMEに接続先ホストの変更方法が書いてないのでソース読んで確認したところ、-hostname=で指定してやればよさそうです。
/var/run/docker.sockをマウントしてやらないとメトリックを取得できないので注意手順
RancherOSはインスタンス作成直後はISOブートした状態なのでインストールを行います。
RancherOSがインストールできたらおもむろに
$ sudo ros service enable serverを叩いてrancher serverを起動... と行きたいのですが、rancher serverはメモリ大食いなのでやりません。
CloudGarageのお試しプランでRancher Server起動したらそれだけでメモリを半分以上持って行かれてるのでServer Onlyなインスタンスにする必要がありそう
— (っ’ヮ’c) < しっぽ (@ryosms) 2017年9月21日
で、本来ならばCustom System Serviceを作ってPostgreSQLを起動させるといいんでしょうが、今回は手を抜いてdocker-composeをインストールすることになります。
「なんのためのRancherOSだ」と言う声が聞こえてきそうな気がしますが気にしません。
docker-composeのReleaseページからバイナリを取得してパスの通った場所に配置します。
docker-composeのReleaseページにもインストール方法は書いてありますが、RancherOSにはデフォでcurlがなかったり/usr/local/binがなかったりするので、wgetを使って/usr/binに配置するようにします。
$ wget -O docker-compose https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m`docker-compseが動いたら、ryosms/jira-on-cloudgarageのpostgresディレクトリ以下のファイル群一式をサーバーの適当なディレクトリに送り込みます。
$ chmod +x docker-compose
$ sudo mv docker-compose /usr/bin
$ docker-compose -v
docker-compose version 1.16.1, build 6d1ac21
- postgres.env.templateをpostgres.envにリネームして、JIRA用DBユーザーのパスワードを設定します
- mackerel-agent.conf.templateをmackerel-agent.confにリネームして、mackerelのAPI KEYと、PostgreSQLのJIRA用DBユーザーのパスワードを設定します
$ docker-compose up -d
次はJIRAのインスタンスを構築していきますが、それはまた別の日に
コメント