CF nise installerを使ってローカルにCloud Foundryを構築したときの記録です。
#環境
- Ubuntu Server 14.04
#Cloud Foundryのインストール
まず、Rbenvに必要なパッケージをインストールしておきます。
sudo apt-get install build-essential bison libreadline6-dev curl git-core zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libncurses5-dev
以下のコマンドを実行してCloud Foundryをインストールを始めます。
sudo bash < <(curl -s -k -B https://raw.githubusercontent.com/yudai/cf_nise_installer/${INSTALLER_BRANCH:-master}/scripts/bootstrap.sh)
このコマンドを実行すると、Rubyや各種モジュール、Buildpackなどがインストールされるのでしばらく待ちます。
私の環境では2時間程かかりました。
以下のメッセージが表示されたら完了です。
Done!
You can launch Cloud Foundry with './scripts/start.sh'
Restart your server before starting processes if you are using Ubuntu 10.04
メッセージにあるようにOSの再起動を行えばインストールの完了です。
(今回の環境はUbuntu 14.04ですが念のため再起動を行いました)
#Cloud Foundryを起動
以下の起動スクリプトを実行します。
INSTALLDIR/scripts/start.sh
Cloud Foundryのモジュールが起動していくのでしばらく待ちます。
#動作確認
以下のリンクからCloud FoundryのクライアントCLIツールをダウンロードして導入します。
https://github.com/cloudfoundry/cli
Cloud Foundryにログインします。
- cf api api.IPADDRESS.xip.io --skip-ssl-validation
- cf login
- メールアドレス(ユーザー名)とパスワードを入力(デフォルトではadmin:c1oudc0w)
- cf create space SPACENAME
- cf set -o DevBox -s SPACENAME
適当なアプリケーションをCloud Foundryにデプロイします。
- cd APPROUTE
- cf push
#トラブルシューティング
##Blobstore error: Failed to fetch object, underlying error: #< HTTPClient::ReceiveTimeoutError: execution expired >
インストールに時間がかかるので、sudoのパスワードキャッシュが切れていることがあります。
そのときは適宜パスワードを再入力して、再度インストールを実行します。
途中でインストールが失敗しているように見えても、もう一度インストールコマンドを実行すれば止まってしまったところまでは飛ばすことができます。
##Failed setting memory limit: Permission denied
cf pushコマンドでアプリをデプロイしたときに発生しました。
以下のコマンドを実行して、OSを再起動することで解決できます。
```
sudo perl -p -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"/g' /etc/default/grub
sudo /usr/sbin/update-grub
```
##/var/vcap/packages/ruby/bin/bundle: そのようなファイルやディレクトリはありません
繰り返しインストールを行っていたらでなくなりました。
#よくわからない点
今回は、以下の4パターンでインストールを行いました。
- ESXi 4.1上の仮想マシン
- ESXi 5.5上の仮想マシン
- Hyper-V(Windows 8.1)上の仮想マシン
- 物理マシン
しかし、問題なく動作しているのはESXi 4.1上の仮想マシンのみでした。
ESXi 5.5上の仮想マシンと物理マシンにインストールした場合はデプロイしたアプリのレスポンスが遅いという問題が発生しました。(レスポンスが返ってくるまでに7~10秒)
これについては原因を調べていますが、まだわかっていません。
また、Hyper-V上の仮想マシンに構築した環境ではcf loginコマンドでのログインがうまくいきませんでした。
#参考情報
yudai/cf_nise_installer
https://github.com/yudai/cf_nise_installer
Application failed to stage with the error"Failed setting memory limit: Permission denied" · Issue #72 · yudai/cf_nise_installer
https://github.com/yudai/cf_nise_installer/issues/72
Debian 7.0, Ubuntu 13.04 に rbenv をインストールする - Qiita
http://qiita.com/kazoo04/items/7056704efee66f323ddb