まいちのblog

もうここは更新しないよ。たぶん

CygwinなThinkpad E130にbosh-liteでCloud Foundry V2(v194)を入れてみた

CygwinWindows8.1マシンにbosh-liteでCloud FoundryV2(v194)を入れてみた

リハビリを兼ねて久しぶりにCloud Foundryのデプロイをしてみました。
以下手順等のメモです。(作業日2015/5/16)

インストールした環境

Thinkpad E130
CPU:Core i3-3217U 1.8GHz
メモリー:8GB
ストレージ:SSD 128GとHDD500G
C:ドライブはSSDなんですが、空き容量が足りなかったのでcygwinごとD:ドライブに入れました。
OS Windows8.1(64bit)

インストール手順

Cygwin(64bit)のインストール

手順は以下参照
http://ipcrm.hatenablog.com/entry/2015/05/07/013323
apt-cygも入れておくと便利でしょう。

必要なパッケージのインストール(余計なパッケージがあるかも)

apt-cyg install gcc-g++ make zlib-devel curl \
autoconf  libiconv libiconv-devel rsync patch unzip \
libxml2-devel libxslt-devel  libffi-devel libgdbm-devel openssl-devel

apt-cyg install libyaml-devel
apt-cyg install libmysqld-devel
apt-cyg install libpq5 libpq-devel
apt-cyg install libffi6 libffi-devel pkg-config

rbenvとruby1.9.3-p547のインストール

以下を参考にrbenvを入れる。
http://ipcrm.hatenablog.com/entry/2014/05/02/202337
以下を参考にバージョンを1.9.3-p547に読み替えてruby1.9.3-p547インストール
http://ipcrm.hatenablog.com/entry/2014/07/15/151847

必要そうなgemのインストール

gem install bundler
gem install nokogiri -v '1.6.6.2' -- --use-system-libraries=true --with-xml2-include=/usr/include/libxml2
gem install bosh_cli --no-rdoc --no-ri

goのインストール

https://golang.org/doc/install#windows

VirtualBoxのインストール

https://www.virtualbox.org/wiki/Downloads

vagrantのインストール

https://www.vagrantup.com/downloads.html

GOPATHとかを設定

export GOPATH=~/.go/
export PATH=$PATH:$GOPATH/bin

spiffのインストール

go get -v github.com/cloudfoundry-incubator/spiff

spiffコマンドが実行できればOK。goの設定によっては、~/.go/binではなく、C:\home\XXXX.goとかにインストールされることがあるので、~/.go/binにコピーして対応する必要があるかも。

CFコマンドのインストール

https://github.com/cloudfoundry/cli/releases

routeの設定

管理者権限で以下のコマンドを実行

route add 10.244.0.0/19 192.168.50.4

deploy手順

mkdir ~/workspace
cd ~/workspace
git clone https://github.com/cloudfoundry/bosh-lite
cd bosh-lite
vagrant up
bosh target 192.168.50.4 lite
# admin/adminで
bosh login

cd ~/workspace
git clone https://github.com/cloudfoundry/cf-release
cd cf-release
git checkout -b 194work refs/tags/v194
./update
bosh create release
bosh upload release releases/cf-194.yml
cd ~/workspace
curl -L -J -O https://bosh.io/d/stemcells/bosh-warden-boshlite-ubuntu-trusty-go_agent
bosh upload stemcell bosh-warden-boshlite-ubuntu-trusty-go_agent

cd ~/workspace/cf-release
./generate_deployment_manifest warden ../bosh-lite/manifests/cf-stub-spiff.yml templates/cf-minimal-dev.yml > ~/workspace/bosh-lite/manifests/cf-manifest.yml
bosh status 
# Directorのuuid 確認

vi ~/workspace/bosh-lite/manifests/cf-manifest.yml 
# director_uuidにDirectorのuuidを設定

bosh deployment ~/workspace/bosh-lite/manifests/cf-manifest.yml
bosh deploy
# 成功すればデプロイ出来たはず

bosh vms
# jobとかが表示される

以下のように表示されます。 f:id:ipcrm:20150517054601p:plain

サンプルアプリをpushしてみる

cf login -a api.10.244.0.34.xip.io --skip-ssl-validation -u admin -p admin
cf create-org admin-org
cf create-space admin-space -o admin-org
cf target -o admin-org -s admin-space
cd ~/workspace
git clone https://github.com/cloudfoundry/cf-acceptance-tests
cd cf-acceptance-tests/assets/hello-world
cf push hw
cf apps
curl hw.10.244.0.34.xip.io
# 以下のようにHello, world!と表示されたらOK

f:id:ipcrm:20150517055056p:plain

参考文献

https://github.com/cloudfoundry/bosh-lite/blob/master/docs/deploy-cf.md
http://www.slideshare.net/i_yudai/2013-1025-boshlite
http://qiita.com/jacopen/items/463b5045015de2460d74
http://qiita.com/k-kurumi/items/66057620d5d344d07414

TODO

  • Service Broakerで、データベースサービスの追加する手順の明確化
  • boshコマンドの実験
  • 起動、停止、初期化、アップデート手順の明確化
  • 新しい版対応