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

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

May 06, 2015

Download

Technology

Kazuto Kusama

第15回 Cloud Foundry輪読会で発表した資料です。
複雑になってしまったCloud Foundry V2のAll in Oneをセットアップする3つの方法について説明します。
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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月版

質問とかあれば