このページは、
FUJITSU Cloud サービス K5 を使ってみる - Qiita
http://qiita.com/ynott/items/a256669c692625c5fd25
の「9. FUJITSU K5 に Rancher を導入」のページです。
ownCloud/Nextcloud を動かして、と思っていましたが、Rancherを動かして、その上でNextcloudを動かせばいいじゃん。
ということに思い至った(遅いわ!)ので、まず、Rancherを動かしてみます。
#1. Rancherを動かす
Rancher を動かすのに必要なサーバーは、以下の2種類です。
・Rancher Server(以下、Server)
・Rancher Host(以下、Host)
Serverは、基本的に1台です(冗長構成も可能)が、Hostは複数立てられます。
ひとまず両方とも1台づつ立てます。
ServerはWebGUI接続で操作するので(CLIコマンドもありますが)、httpポートを空けておきます。
#K5には、Loadbalancerもあるのでhttps に対応するのも簡単ですね。
Serverは面倒なのでGlobalIPのついている踏み台サーバーで動かします。
HostはKernelが古いといろいろあるので、Ubuntuイメージを選択します。
#Kernelが3.10のCentOS-7は基本的に使いたくありません。
CentOS --> Server
Ubuntu --> Host
しかし、ここで問題発生、K5には、Ubuntuのイメージは以下のものしかありません。
- Ubuntu 14.04 LTS
なんと、14.04 LTS までしかない。
#というか、今どき Ubuntu 16.04 LTS イメージぐらい入れてほしい。
仕方がありません、Ubuntu 14.04 LTS をブートして、do-release-upgrade で 16.04 LTSにしました。
注:16.04 LTSは、ちゃんと動いています。
2. K5での DHCP設定 について(横道)
仮想ネットワークで、DHCP設定時にDNS設定しなかったので、bootするときにDHCPでIPアドレスが配られますが、DNSが/etc/resolv.conf に入りません。。後から設定を変更することもできません...。
(某なかの人から、「APIで仮想ネットワーク作れば設定できるかも」とコメントがありました。なるほど。)
手動で/etc/resolv.conf を書き換えてたりしましたが、あまりにもバカバカしい(仮想ネットワークを作り直しもアレだし)したので、dhclient に設定を追加しました。
# cat /etc/dhcp/dhclient.conf
timeout 300;
retry 60;
interface "eth0" {
prepend domain-name-servers 8.8.8.8;
}
また、K5 では、AWSと違って、プライベートIPをインスタンス作成時に指定できないことに注意しましょう。
3. Ubuntu 16.04 LTS を保管
Snapshotでアップグレード後のイメージを取っておきます。
4. Ubuntuをブート
スナップショットを取ったら、ブートして、
- zsh をインストール
- ansible をインストール
- docker-ce をインストール
します。
5. Rancher Server をインストール
Dockerが入ればこっちのもんです。
以下のコマンドでRancher Serverをインストールします。
sudo docker run -d --restart=unless-stopped -p 80:80 rancher/server
外部からの接続は、セキュリティーグループで制限しておきます。
6. Rancher Host をインストール
いつものホスト追加画面を出して、CUIからコマンドラインを叩きます。
7. myカタログを追加
某氏お手製のマイカタログを追加します。
最近、Manage Catalogというのが追加されたんですね。
ここはまだ日本語化されていませんでした。コミュニティで頑張って翻訳しないとですね。
8. まとめ
普通のIaaSとしてのK5では、Rancher を使うのは何の問題もありませんでした。
Loadbalancerをうまく使えば、Rancher Serverの冗長構成も比較的簡単につくることができるでしょう。
しかし、Ubuntu OSの問題や、RancherOSを動かすなどはハードルの高いところもあります。
「データベース仮想サーバ」のDBサーバーも残念ながら、Postgresqlなので残念ながら利用できません。
Docker イメージregistory も別途用意する必要があります。
次は、Rancher で 何かDockerコンテナーを動かしてみたいと思います。
10. Nextcloud on K5 導入