自前cf環境を整えよう 2013年11月版

39
自前CF環境を整えよう 201311月版 UDCP Kazuto Kusama @jacopen

Upload: kazuto-kusama

Post on 06-May-2015

2.826 views

Category:

Technology


0 download

DESCRIPTION

第15回 Cloud Foundry輪読会で発表した資料です。 複雑になってしまったCloud Foundry V2のAll in Oneをセットアップする3つの方法について説明します。

TRANSCRIPT

Page 1: 自前CF環境を整えよう 2013年11月版

自前CF環境を整えよう 2013年11月版UDCP Kazuto Kusama @jacopen

Page 2: 自前CF環境を整えよう 2013年11月版

#cfcrjp

Page 3: 自前CF環境を整えよう 2013年11月版

自己紹介

•草間 一人(くさま かずと)

• UDCPメンバー

!• Twitter: @jacopen • Facebook: jacopen

Page 4: 自前CF環境を整えよう 2013年11月版

UDCP

• Blog (U1TB) !!!!!

• 自転車イベント参加 !!

• おいしいものを食べる

Page 5: 自前CF環境を整えよう 2013年11月版

自己紹介

•提督業はお休み中 • E-4とかE-5とか、つらぽよ

Page 6: 自前CF環境を整えよう 2013年11月版

今日のお題

‣ 自前CF環境を整えよう!

‣ いわゆるAll in One環境を組んでみようという話

‣ CF入門したい人向け

‣ v1は分かるんだけどv2に追いつけてない人向け

Page 7: 自前CF環境を整えよう 2013年11月版

All in One環境とは

‣ たくさんあるコンポーネントを1台のVMに集約した環境

‣ Cloud Controller ‣ DEA ‣ UAA ‣ Health Manager ‣ NATS ‣ Service Gateway ‣ Service Node ‣ Gorouter, etc…

Page 8: 自前CF環境を整えよう 2013年11月版

簡単だったv1 All in One

‣ Cloud Foundry v1では、chef-soloをベースにした「dev_setup」という仕組みが用意されており、それを実行するだけでCF環境の構築ができた。

$ bash < <(curl -s -k -B https://raw.github.com/cloudfoundry/vcap/master/dev_setup/bin/vcap_dev_setup)

・@IT オリジナルのCloud Foundryサイトを構築する

http://www.atmarkit.co.jp/ait/articles/1206/22/news141.html ・Software Design 2013年3月号

など、資料多数

Page 9: 自前CF環境を整えよう 2013年11月版

複雑になったv2セットアップ

‣ CFのセットアップがBOSH前提になってしまった

‣ 詳しくは@i_yudaiのセッションで

!

‣ BOSHの要求リソースが多い

‣ Micro BOSHでも、んGBのメモリが必要

‣ CPIが必要となり、対応したIaaS上でしか利用できない

‣ AWS, OpenStack, CloudStack

_人人人人人人人_ > CloudStack < ‾Y^Y^Y^Y^Y^Y‾

Page 10: 自前CF環境を整えよう 2013年11月版
Page 11: 自前CF環境を整えよう 2013年11月版
Page 12: 自前CF環境を整えよう 2013年11月版

つまり

‣ Cloud Foundry v2を構築したい場合、AWS、OpenStack、CloudStackなどのIaaSと、大量のメモリが必要。

Page 13: 自前CF環境を整えよう 2013年11月版
Page 14: 自前CF環境を整えよう 2013年11月版

でもまだ方法はある

‣ 実はBOSHに限らず、Cloud Foundry v2を構築する方法はあります

Page 15: 自前CF環境を整えよう 2013年11月版
Page 16: 自前CF環境を整えよう 2013年11月版

今回の主題

‣ Cloud Foundry v2 All in Oneを構築する3つの方法を試します

‣ それぞれの情報をまとめます

‣ 必要リソース量

‣ 情報収集やセットアップにかかる時間

‣ セットアップの難易度

Page 17: 自前CF環境を整えよう 2013年11月版

All in Oneを構築する3つの方法

✓ CF Nise Installer ✓ CF Vagrant Installer ✓ bosh-lite

Page 18: 自前CF環境を整えよう 2013年11月版

条件

‣ 自前CF環境を”簡単に”整えたい

‣ Vagrant&VirtualBox利用

‣ Vagrant&VirtualBoxはセットアップ済という前提

‣ CFを叩くためのツールはセットアップ済前提

‣ cfコマンド、もしくはgcfコマンドセットアップ済

‣ 実験環境はMacbook Pro(Mid 2012 16GBmem)

‣ メモリ足りなくて実験出来なかったという事態をふせぐため。

‣ セットアップは各リポジトリにあるREADMEを読みながらやります

Page 19: 自前CF環境を整えよう 2013年11月版

① CF Nise Installerを使ってAll in Oneセットアップ

https://github.com/yudai/cf_nise_installer

Page 20: 自前CF環境を整えよう 2013年11月版

① CF Nise Installerを使ってAll in Oneセットアップ

手順

1.Ruby 1.9.3-p448を手元にセットアップ

‣ rbenvを使うことをお勧め

2.コマンドを実行

‣ bash < <(curl -s -k -B https://raw.github.com/yudai/cf_nise_installer/${INSTALLER_BRANCH:-master}/vagrant/bootstrap.sh)

3.待つ

‣ 1時間10分くらい

Page 21: 自前CF環境を整えよう 2013年11月版

_人人人人人_ > できた < ‾Y^Y^Y^Y‾

Page 22: 自前CF環境を整えよう 2013年11月版

先にcreate-orgしないと死ぬトラップに注意

Page 23: 自前CF環境を整えよう 2013年11月版
Page 24: 自前CF環境を整えよう 2013年11月版

_人人人人人_ > 動いた < ‾Y^Y^Y^Y‾

Page 25: 自前CF環境を整えよう 2013年11月版

② CF Vagrant Installerを使ってAll in Oneセットアップ

https://github.com/Altoros/cf-vagrant-installer

Page 26: 自前CF環境を整えよう 2013年11月版

② CF Vagrant Installerを使ってAll in Oneセットアップ

手順 1.git clone https://github.com/Altoros/cf-vagrant-installer.git ‣ cd cf-vagrant-installer ‣ rake host:bootstrap ‣ vagrant up

Page 27: 自前CF環境を整えよう 2013年11月版

動い・・・た??

Page 28: 自前CF環境を整えよう 2013年11月版

$  vagrant  ssh  !vagrant@cf:~$  cd  /vagrant  vagrant@cf:/vagrant$  ./status.sh  cf-­‐dir_server  start/running,  process  2968  cf-­‐warden  start/running,  process  2933  cf-­‐health_manager  start/running,  process  2935  cf-­‐nats-­‐server  start/running,  process  2936  cf-­‐router  start/running,  process  2939  cf-­‐uaa  start/running,  process  2947  cf-­‐file_server  start/running,  process  2970  cf-­‐cloud_controller  stop/waiting     #  CCが動いていない・・・  

cf-­‐dea  start/running,  process  2958  vagrant@cf:/vagrant$  ./start.sh  initctl:  Job  is  already  running:  cf  vagrant@cf:/vagrant$  ./stop.sh     #  全部止める  

cf  stop/waiting  vagrant@cf:/vagrant$  ./start.sh     #  全部起動  

cf  start/running  vagrant@cf:/vagrant$  ./status.sh  cf-­‐dir_server  start/running,  process  5290  cf-­‐warden  start/running,  process  5276  cf-­‐health_manager  start/running,  process  5278  cf-­‐nats-­‐server  start/running,  process  5280  cf-­‐router  start/running,  process  5282  cf-­‐uaa  start/running,  process  5284  cf-­‐file_server  start/running,  process  5299  cf-­‐cloud_controller  stop/waiting    #  やっぱりCCが動いていない・・・  

cf-­‐dea  start/running,  process  5288

Page 29: 自前CF環境を整えよう 2013年11月版

原因を調査する時間が取れないのでまた今度!

Page 30: 自前CF環境を整えよう 2013年11月版

③ bosh-liteを使ってAll in Oneのセットアップ

https://github.com/cloudfoundry/bosh-lite

Page 31: 自前CF環境を整えよう 2013年11月版

③ bosh-liteを使ってAll in Oneのセットアップ

手順 1. Ruby 1.9.3-p484 (これ試した時点での最新) のセットアップ

2. Golangのセットアップ http://golang.jp/install#osx

3. mkdir ~/workspace/ ; cd ~/workspace/ 4. git clone [email protected]:cloudfoundry/cf-release.git 5. bosh-liteのセットアップ

git clone [email protected]:cloudfoundry/bosh-lite.git cd bosh-lite bundle vagrant up bosh target

bosh target 192.168.50.4 Target set to `Bosh Lite Director' Your username: admin Enter password: admin Logged in as `admin'

Page 32: 自前CF環境を整えよう 2013年11月版

6. bosh upload stemcell http://bosh-jenkins-gems-warden.s3.amazonaws.com/stemcells/latest-bosh-stemcell-warden.tgz

7. spiffのセットアップ

brew install bzr export GOPATH=~/go export PATH=~/go/bin:$PATH ※ この後bazaarが動かなかったので、

sudo ln -s /usr/local/Cellar/bazaar/2.6.0/lib/python2.7/site-packages/bzrlib /Library/Python/2.7/site-packages/bzrlib  を実行

go get -v github.com/vito/spiff !

8. manifestの作成

./scripts/make_manifest_spiff !

9. mysql ,postgresのインストール

それぞれの環境でやっておいてください><

Page 33: 自前CF環境を整えよう 2013年11月版

9. Create Release 1. cd ~/workspace/cf-release 2. git submodule update —init —recursive 3. bosh create release 途中で名前を聞かれるのでcfと入力

4. bosh upload release 5. bosh deploy

Page 34: 自前CF環境を整えよう 2013年11月版

_人人人人人_ > 動いた < ‾Y^Y^Y^Y‾

Page 35: 自前CF環境を整えよう 2013年11月版

比較

cf-nise-installer bosh-lite cf-vagrant-installer

構築時間 1h 10min 2h 20min 50min

調査時間 10min 6h 10min

合計所要時間 1h 20min 8h 20min 60min(参考)必要メモリ量

(Vagrantfile指定分) 4GB 6GB 2GB

Servicesの有無 △(cf_nise_installer_services) ○ ×

Page 36: 自前CF環境を整えよう 2013年11月版

まとめ

•とにかくAll in Oneが欲しいのであれば、cf-nise-installerがラクチン

• cf-vagrant-installerもcf-nise-installerも、communityのものなので本家のアップデートに追従しきれないリスクあり。

Page 37: 自前CF環境を整えよう 2013年11月版

まとめ

• CFがBOSH前提なのは当分変わらないので、bosh-liteを使うのが本筋ではある

•でもbosh-liteのドキュメントは不完全。初めて挑戦する人には敷居が高い・・・ !

•コミュニティでドキュメントを充実させていく必要ありかも

Page 38: 自前CF環境を整えよう 2013年11月版

http://www.slideshare.net/i_yudai/2013-1025-boshlite

Page 39: 自前CF環境を整えよう 2013年11月版

質問とかあれば