2018/12/19
JiraやConfluenceをLXDコンテナで動かしてみよう大野 智之Tomoyuki Ohno
このエントリーは、 Atlassian(JIRA , Confluence, Trello, Bitbucket)のTips Advent Calendar 2018 – Qiitaの19日目です
LXDはLinuxのシステムコンテナの1つで、Canonicalが主導しているコンテナ技術です。
システムコンテナとは、一言でいえばVM上にインストールしたLinuxのように扱えるコンテナ技術です。
コンテナといえばDockerが主流であり、LXDはまだまだマイナーではありますが、最近ではGMOデジロックがLXDを用いたホスティングサービスを展開したということから、少しずつ認知されつつあります。
コンテナ技術「LXD」で競争力強化! GMOデジロックが移行体験を語る
また、LXDはこれまでUbuntuでしか実質動作しませんでしたが、最近ではCentOS7をはじめとしたUbuntu以外のOSでもインストールして利用できるようになったことや、VM(仮想マシン)と同等に管理できるシステムコンテナならではの手軽さや学習コストの低さ、コンテナならではの軽量なイメージとイメージのポータビリティ性の高さなどから、今後徐々に利用が進むことが期待されます。
今回はそのようなLXDを利用して、JiraやConfluenceをインストールして動かしていきたいと思います。
Windows上にインストールされたVirtualBoxを利用して、手順を進めていきます。
(MacやLinuxの場合は、適宜読み替えて対応ください)
次の構成で仮想マシンを作成します。
項目 | 設定内容 |
---|---|
OS | Ubuntu 18.04LTS ※Ubuntu 18.04LTS(Ubuntu Server 18.04.1 LTS)のISOイメージはUbuntuのオフィシャルサイトより予めダウンロードしておきます。 https://www.ubuntu.com/ |
メインメモリー | 4096 MB |
プロセッサー数 | 2 |
ストレージ容量 | 100GB |
ネットワーク | アダプター1:NAT アダプター2:ホストオンリーアダプター(192.168.56.0/24) |
Ubuntuのインストール完了後、以下のパッケージを追加でインストールします。(一部のパッケージは、Ubuntuインストールの段階で、既にインストール済みの場合もあります)
# apt update && apt upgrade # apt install -y bridge-utils criu lxd
/etc/netplan/50-cloud-init.yaml に対して次のような設定を行い、ホストオンリーアダプターへのIPアドレス(IPv4アドレス)の割り当てを行います。
※ここでは、ホストオンリーアダプターのデバイス名はenp0s3 とし、192.168.56.10というIPアドレスを割り当てることとします。
network: ethernets: enp0s3: addresses: - 192.168.56.10/24 optional: true version: 2
上記設定後、以下のコマンドを実行し、設定を有効化します。
# netplan apply
拙作の以下のQiitaの投稿をご参照ください。
ip addrコマンドを実行し、lxdbr0のIPv4アドレスおよびサブネットマスクを確認します。
※以下の場合、10.153.159.1がlxdbr0のIPv4アドレスとして割り当てられています。
3: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 10.153.159.1/24 scope global lxdbr0 valid_lft forever preferred_lft forever inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link valid_lft forever preferred_lft forever
3で作成したLXDコンテナのIPアドレスを確認します。
# lxc list +-------------+---------+----------------------+------+------------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------------+---------+----------------------+------+------------+-----------+ | ubuntu-test | RUNNING | 10.153.159.19 (eth0) | | PERSISTENT | | +-------------+---------+----------------------+------+------------+-----------+
ホストOS側でコマンドプロンプトを管理者権限で開き、以下のコマンドを入力します。
※以下のコマンドを実行することで、ホストOS側からLXDコンテナへ直接アクセスできるようになります。
C:\> route add 10.153.159.0 mask 255.255.255.0 192.168.56.10
上記コマンドを入力後、ホストOS側からLXDコンテナに対してPINGを行い、ネットワークの疎通が取れることを確認します。
C:\> ping 10.153.159.19
AtlassianのWebサイトから、アプリケーションのインストーラーをダウンロードします。ここでは、Jiraを例に進めていきます。
※VM等へインストールする際の手順と同様です。
コンテナ外からLXDコンテナに対してファイルをコピーする場合は、Ubuntu上で次のコマンドを入力します。
# lxc file push <コピー元ファイル名> <コンテナ名>/<コピー先パス名>
LXDコンテナへ入るには、Ubuntu上で次のコマンドを入力します。
# lxc exec <コンテナ名> /bin/bash
# chmod 755 ./atlassian-jira-software-x.x.x-x64.bin # ./atlassian-jira-software-x.x.x-x64.bin Unpacking JRE ... Starting Installer ... Dec 18, 2018 5:19:46 PM java.util.prefs.FileSystemPreferences$1 run INFO: Created user preferences directory. Dec 18, 2018 5:19:46 PM java.util.prefs.FileSystemPreferences$2 run INFO: Created system preferences directory in java.home. This will install JIRA Software x.x.x on your computer. OK [o, Enter], Cancel o Choose the appropriate installation or upgrade option. Please choose one of the following: Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3] 2 Where should JIRA Software be installed? [/opt/atlassian/jira] Default location for JIRA Software data [/var/atlassian/application-data/jira] Configure which ports JIRA Software will use. JIRA requires two TCP ports that are not being used by any other applications on this machine. The HTTP port is where you will access JIRA through your browser. The Control port is used to startup and shutdown JIRA. Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2] JIRA can be run in the background. You may choose to run JIRA as a service, which means it will start automatically whenever the computer restarts. Install JIRA as Service? Yes [y, Enter], No [n] y Details on where JIRA Software will be installed and the settings that will be used. Installation Directory: /opt/atlassian/jira Home Directory: /var/atlassian/application-data/jira HTTP Port: 8080 RMI Port: 8005 Install as service: Yes Install [i, Enter], Exit [e] i Extracting files ... Please wait a few moments while JIRA Software is configured. Installation of JIRA Software 7.13.0 is complete Start JIRA Software 7.13.0 now? Yes [y, Enter], No [n] y Please wait a few moments while JIRA Software starts up. Launching JIRA Software ... Installation of JIRA Software x.x.x is complete Your installation of JIRA Software x.x.x is now ready and can be accessed via your browser. JIRA Software 7.13.0 can be accessed at http://localhost:8080 Finishing installation ...
Jiraのセットアップ画面が表示されます。以後は通常通りセットアップを行います。
今回は、LXD環境の構築からLXDコンテナ上へのJiraのインストールまでの手順について、VirtualBoxを用いて簡単に説明しました。
LXDコンテナへのインストール方法は、VMへインストールする方法とほとんど変わらず、それほど難しいものではないと感じていただけたと思います。
しかし、これだけですと単にLXDコンテナ上でJiraを動かしてどのようなメリットがあるのか?と感じられる方も多いかもしれません。
今回は詳細を記載しませんでしたが、LXDを利用することでハードウェアリソースの有効活用や、アプリケーション環境のポータビリティ性向上、IaaS環境下の利用であれば仮想マシンの有効活用による経費削減(1つのVMに複数のコンテナを運用し、仮想マシンやディスクボリュームの費用を節約する)や、クラウドベンダーにロックインされない運用環境環境の実現(例えば、万一クラウドベンダーがサービスを終了してもLXDであればコンテナを新環境へ移行するだけで運用環境を引き継げる)など、様々なメリットを享受することができます。また、Dockerと比べて学習コストが低いことも大きなメリットであるといえます。実際にLXDを操作して、その便利さを実感していただければ幸いです。
その他、LXDに関する詳細は、Linux ContaniersのWebサイトにあるLXDのページをご参照ください。
30日間の評価ライセンスも発行できますので、是非ご活用ください!
ご不明な点がございましたら、お気軽に弊社にお問合せください。
製品について詳しくはこちらをご覧ください。
アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのRS標準サポートではサポートします。
リックソフトのRS標準サポートは開発元が提供するサポート以上の価値があります。
ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。
リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。
ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。
日本随一の生産性向上にも効果のある研修サービスです。
リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。