SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
BOSH-lite で 1VM Cloud Foundry
岩嵜 雄大 @ i_yudai
NTT Laboratory
Software Innovation Center
2013-10-25
Outline

 1VM Cloud Foundry の歴史
 BOSH-lite の概要
 Cloud Foundry のデプロイ実践

2
1VM Cloud Foundry の 歴史
Cloud Foundry v1 時代

 Micro Cloud Foundry
– All-in-One VM イメージ

4
Cloud Foundry v2 時代
 Micro Cloud Foundry は提供なし
 cf-vagrant-installer from Altoros
• Vagrant & Chef ベース

• “cf-vagrant-installer hasn't been updated for
some time (submodules)”

 cf_nise_installer from NTT
• Bare metal と Vagrant VM をサポート
• 最新の cf-release に追従
幻の Warden CPI と BOSH-lite の登場

 古くから存在は確認されていた
– https://groups.google.com/a/cloudfoundry.org/d/msg/bos
h-dev/dnSJemZayjo/m60nd8umm6IJ

 8月ぐらいに BOSH-lite が公開され実
用化され、最近実用レベルに
BOSH-lite の概要
BOSH-lite の概要
 BOSH Warden CPI + Vagrant
– https://github.com/cloudfoundry/bosh/tree/warden-cpi
– https://github.com/cloudfoundry/bosh-lite

– Vagrant VM 上に Lite Director を構築
• Micro BOSH 相当
• VirtualBox、VMware Fusion、AWSに対応

– VM 内に Warden CPI で子 VM 生成
• Warden CPI を使用したコンテナ VM
BOSH-Lite の構成
ホストマシン
BOSH CLI

BOSH Lite

Vagrant VM
(Micro BOSH 相当)
Warden VM
NATS

Director
Warden CPI でコンテナを生成

Warden VM
DEA

Warden VM
Postgres

Warden VM
Router

Warden VM
UAA

Warden VM
CCNG

Warden VM
Log

Warden VM
Login
BOSH-lite の利点
 ラップトップ上でも動く BOSH 環境
– 1VM 6GB のメモリ

 すべての操作が BOSH 互換
– AWS や OpenStack への移行が容易

 最新の cf-release が使用できる
– cf-services-release などの混在も可能
Cloud Foundry のデプロイ
BOSH-lite の起動
 Vagrantは v 1.3.4 以降をインストールしておく
– http://www.vagrantup.com/
# 環境の準備
$ gem install bosh_cli –-pre # 1.5.0.pre
$ vagrant plugin install vagrant-omnibus
# bosh-lite のクローン
git clone https://github.com/cloudfoundry/bosh-lite.git
#
$
$
$

Vagrant VM 起動の準備
cd bosh-lite
bundle
librarian-chef install

# Lite Director VM の起動
$ vagrant up
# 起動した BOSH をターゲット(User/Password は admin/admin)
$ bosh target 192.168.50.4 # IP は固定
12
cf-release の準備

 通常の BOSH と同じ操作を行う

#
$
$
$

cf-release のクローン
cd ~
git clone https://github.com/cloudfoundry/cf-release.git
cd cf-release

# サブモジュールのチェックアウト
$ ./update
#
$
#
$

最新のコードでリリースを作成する
bosh –n create release
生成したリリースを BOSH にアップロード
bosh upload release
Stemcell のアップロード
 Warden CPI 用の Stemcell を使用する

$ wget http://bosh-jenkins-gems-warden.s3.amazonaws.com/stemcells/latestbosh-stemcell-warden.tgz

$ bosh upload stemcell latest-bosh-stemcell-warden.tgz
Spiff のインストール
 Deployment Manifest の生成ツール
– https://github.com/vito/spiff
– Go 環境が必要
# Mac の Homebrew で入れる場合
$ brew install go bzr # go get に bzr が必要
# (bzr の実行ファイルがうまく生成されないことがある?)
$ cd /usr/loca/bin
$ ln -s ../share/python/bzr bzr
$ export GOPATH=~/go
$ export PATH=~/go/bin:$PATH
$ go get github.com/vito/spiff
正しくインストールされたか確認
$ spiff
Deployment Manifest の生成と Deploy

# Deployment Manifest を生成
$ cf-release/generate_deployment_manifest warden ¥
bosh-lite/deployment-stub.yml > deployment.yml
# Director の UUID を Manifest にセット
$ vi deployment.yml # UUID に bosh status で表示される値を入力
# Deployment をセット
$ bosh deployment deployment.yml
# Deploy
$ bosh deploy
Deploy 結果
 17VM
$ bosh vms
+------------------------------------+---------+---------------+-------------+
| Job/index
| State | Resource Pool | IPs
|
+------------------------------------+---------+---------------+-------------+
| api_z1/0
| running | large_z1
| 10.244.1.10 |
| ha_proxy_z1/0
| running | router_z1
| 10.244.0.34 |
| hm_z1/0
| running | medium_z1
| 10.244.1.14 |
| loggregator_trafficcontroller_z1/0 | running | small_z1
| 10.244.0.10 |
| loggregator_trafficcontroller_z2/0 | running | small_z2
| 10.244.2.10 |
| loggregator_z1/0
| running | small_z1
| 10.244.0.14 |
| loggregator_z2/0
| running | small_z2
| 10.244.2.14 |
| login_z1/0
| running | medium_z1
| 10.244.1.6 |
| logs_z1/0
| running | medium_z1
| 10.244.0.2 |
| logs_z2/0
| running | medium_z2
| 10.244.2.2 |
| nats_z2/0
| running | medium_z2
| 10.244.2.6 |
| postgres_z1/0
| running | large_z1
| 10.244.0.30 |
| router_z1/0
| running | router_z1
| 10.244.0.22 |
| router_z2/0
| running | router_z2
| 10.244.2.22 |
| runner_z1/0
| running | runner_z1 | 10.244.0.26 |
| taskmaster_z1/0
| running | runner_z1
| 10.244.1.18 |
| uaa_z1/0
| running | large_z1
| 10.244.1.2 |
+------------------------------------+---------+---------------+-------------+
VMs total: 17

Mais conteúdo relacionado

Mais procurados

めんどうくさくないWardenハンズオン
めんどうくさくないWardenハンズオンめんどうくさくないWardenハンズオン
めんどうくさくないWardenハンズオンi_yudai
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版i_yudai
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのかKazuto Kusama
 
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるTakeshi Morikawa
 
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化Yuki Kanazawa
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud FoundryKazuto Kusama
 
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみたpyar6329
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーCloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーnota-ja
 
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chefコンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-ChefYukihiko SAWANOBORI
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ poolmookjp
 
(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry(続) はじめてのCloud Foundry
(続) はじめてのCloud FoundryTomohiro Ichimura
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)さくらインターネット株式会社
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介Uchio Kondo
 

Mais procurados (20)

めんどうくさくないWardenハンズオン
めんどうくさくないWardenハンズオンめんどうくさくないWardenハンズオン
めんどうくさくないWardenハンズオン
 
Cloud Foundry varz
Cloud Foundry varzCloud Foundry varz
Cloud Foundry varz
 
ProjectAtomic-and-geard
ProjectAtomic-and-geardProjectAtomic-and-geard
ProjectAtomic-and-geard
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのか
 
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
 
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
 
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーCloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chefコンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ pool
 
(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
VyOSでMPLS
VyOSでMPLSVyOSでMPLS
VyOSでMPLS
 

Destaque

たまにはOpenShiftも触ってみよう
たまにはOpenShiftも触ってみようたまにはOpenShiftも触ってみよう
たまにはOpenShiftも触ってみようKazuto Kusama
 
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門Kazuto Kusama
 
はじめてのCF buildpack
はじめてのCF buildpackはじめてのCF buildpack
はじめてのCF buildpackKazuto Kusama
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Kazuto Kusama
 
Adding a signature in outlook
Adding a signature in outlookAdding a signature in outlook
Adding a signature in outlookhpinn
 
How We Test Rails Apps
How We Test Rails AppsHow We Test Rails Apps
How We Test Rails AppsDamian Galarza
 
Fum de tercera mà: una nova via d'exposició passiva al tabac
Fum de tercera mà: una nova via d'exposició passiva al tabacFum de tercera mà: una nova via d'exposició passiva al tabac
Fum de tercera mà: una nova via d'exposició passiva al tabacUCT ICO
 
blogueandoconlasnetbook
blogueandoconlasnetbookblogueandoconlasnetbook
blogueandoconlasnetbookLaura Broilo
 
5x5x5 Pie Lesson and Lab
5x5x5 Pie Lesson and Lab5x5x5 Pie Lesson and Lab
5x5x5 Pie Lesson and LabRachael Mann
 
регистрация компании Эстония
регистрация компании Эстониярегистрация компании Эстония
регистрация компании ЭстонияBridgeWest.eu
 
Woman position, woman suffrage, truth auto music
Woman position, woman suffrage, truth auto musicWoman position, woman suffrage, truth auto music
Woman position, woman suffrage, truth auto musicMoira Baker
 

Destaque (13)

たまにはOpenShiftも触ってみよう
たまにはOpenShiftも触ってみようたまにはOpenShiftも触ってみよう
たまにはOpenShiftも触ってみよう
 
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
 
はじめてのCF buildpack
はじめてのCF buildpackはじめてのCF buildpack
はじめてのCF buildpack
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
 
Adding a signature in outlook
Adding a signature in outlookAdding a signature in outlook
Adding a signature in outlook
 
Pediatric feeding
Pediatric feedingPediatric feeding
Pediatric feeding
 
How We Test Rails Apps
How We Test Rails AppsHow We Test Rails Apps
How We Test Rails Apps
 
Fum de tercera mà: una nova via d'exposició passiva al tabac
Fum de tercera mà: una nova via d'exposició passiva al tabacFum de tercera mà: una nova via d'exposició passiva al tabac
Fum de tercera mà: una nova via d'exposició passiva al tabac
 
blogueandoconlasnetbook
blogueandoconlasnetbookblogueandoconlasnetbook
blogueandoconlasnetbook
 
5x5x5 Pie Lesson and Lab
5x5x5 Pie Lesson and Lab5x5x5 Pie Lesson and Lab
5x5x5 Pie Lesson and Lab
 
Dpa acto 2015_eng
Dpa acto 2015_engDpa acto 2015_eng
Dpa acto 2015_eng
 
регистрация компании Эстония
регистрация компании Эстониярегистрация компании Эстония
регистрация компании Эстония
 
Woman position, woman suffrage, truth auto music
Woman position, woman suffrage, truth auto musicWoman position, woman suffrage, truth auto music
Woman position, woman suffrage, truth auto music
 

Semelhante a BOSH-lite で 1VM Cloud Foundry

CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチTakeshi Morikawa
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!KLab株式会社
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfesTakeshi Komiya
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDockerMasashi Shinbara
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来Kazuto Kusama
 
Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI ftnk
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみようHiroaki_UKAJI
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Shogo Kawahara
 
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Tomohiro Kumagai
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Nobuhiro Iwamatsu
 

Semelhante a BOSH-lite で 1VM Cloud Foundry (20)

CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
 
hbstudy37 doc
hbstudy37 dochbstudy37 doc
hbstudy37 doc
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI
 
ACI Kubernetes Integration
ACI Kubernetes IntegrationACI Kubernetes Integration
ACI Kubernetes Integration
 
[BurpSuiteJapan]Burp Suite導入・操作
[BurpSuiteJapan]Burp Suite導入・操作[BurpSuiteJapan]Burp Suite導入・操作
[BurpSuiteJapan]Burp Suite導入・操作
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +
 
Wagby on Cloud Foundry
Wagby on Cloud FoundryWagby on Cloud Foundry
Wagby on Cloud Foundry
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 

BOSH-lite で 1VM Cloud Foundry

  • 1. BOSH-lite で 1VM Cloud Foundry 岩嵜 雄大 @ i_yudai NTT Laboratory Software Innovation Center 2013-10-25
  • 2. Outline  1VM Cloud Foundry の歴史  BOSH-lite の概要  Cloud Foundry のデプロイ実践 2
  • 3. 1VM Cloud Foundry の 歴史
  • 4. Cloud Foundry v1 時代  Micro Cloud Foundry – All-in-One VM イメージ 4
  • 5. Cloud Foundry v2 時代  Micro Cloud Foundry は提供なし  cf-vagrant-installer from Altoros • Vagrant & Chef ベース • “cf-vagrant-installer hasn't been updated for some time (submodules)”  cf_nise_installer from NTT • Bare metal と Vagrant VM をサポート • 最新の cf-release に追従
  • 6. 幻の Warden CPI と BOSH-lite の登場  古くから存在は確認されていた – https://groups.google.com/a/cloudfoundry.org/d/msg/bos h-dev/dnSJemZayjo/m60nd8umm6IJ  8月ぐらいに BOSH-lite が公開され実 用化され、最近実用レベルに
  • 8. BOSH-lite の概要  BOSH Warden CPI + Vagrant – https://github.com/cloudfoundry/bosh/tree/warden-cpi – https://github.com/cloudfoundry/bosh-lite – Vagrant VM 上に Lite Director を構築 • Micro BOSH 相当 • VirtualBox、VMware Fusion、AWSに対応 – VM 内に Warden CPI で子 VM 生成 • Warden CPI を使用したコンテナ VM
  • 9. BOSH-Lite の構成 ホストマシン BOSH CLI BOSH Lite Vagrant VM (Micro BOSH 相当) Warden VM NATS Director Warden CPI でコンテナを生成 Warden VM DEA Warden VM Postgres Warden VM Router Warden VM UAA Warden VM CCNG Warden VM Log Warden VM Login
  • 10. BOSH-lite の利点  ラップトップ上でも動く BOSH 環境 – 1VM 6GB のメモリ  すべての操作が BOSH 互換 – AWS や OpenStack への移行が容易  最新の cf-release が使用できる – cf-services-release などの混在も可能
  • 12. BOSH-lite の起動  Vagrantは v 1.3.4 以降をインストールしておく – http://www.vagrantup.com/ # 環境の準備 $ gem install bosh_cli –-pre # 1.5.0.pre $ vagrant plugin install vagrant-omnibus # bosh-lite のクローン git clone https://github.com/cloudfoundry/bosh-lite.git # $ $ $ Vagrant VM 起動の準備 cd bosh-lite bundle librarian-chef install # Lite Director VM の起動 $ vagrant up # 起動した BOSH をターゲット(User/Password は admin/admin) $ bosh target 192.168.50.4 # IP は固定 12
  • 13. cf-release の準備  通常の BOSH と同じ操作を行う # $ $ $ cf-release のクローン cd ~ git clone https://github.com/cloudfoundry/cf-release.git cd cf-release # サブモジュールのチェックアウト $ ./update # $ # $ 最新のコードでリリースを作成する bosh –n create release 生成したリリースを BOSH にアップロード bosh upload release
  • 14. Stemcell のアップロード  Warden CPI 用の Stemcell を使用する $ wget http://bosh-jenkins-gems-warden.s3.amazonaws.com/stemcells/latestbosh-stemcell-warden.tgz $ bosh upload stemcell latest-bosh-stemcell-warden.tgz
  • 15. Spiff のインストール  Deployment Manifest の生成ツール – https://github.com/vito/spiff – Go 環境が必要 # Mac の Homebrew で入れる場合 $ brew install go bzr # go get に bzr が必要 # (bzr の実行ファイルがうまく生成されないことがある?) $ cd /usr/loca/bin $ ln -s ../share/python/bzr bzr $ export GOPATH=~/go $ export PATH=~/go/bin:$PATH $ go get github.com/vito/spiff 正しくインストールされたか確認 $ spiff
  • 16. Deployment Manifest の生成と Deploy # Deployment Manifest を生成 $ cf-release/generate_deployment_manifest warden ¥ bosh-lite/deployment-stub.yml > deployment.yml # Director の UUID を Manifest にセット $ vi deployment.yml # UUID に bosh status で表示される値を入力 # Deployment をセット $ bosh deployment deployment.yml # Deploy $ bosh deploy
  • 17. Deploy 結果  17VM $ bosh vms +------------------------------------+---------+---------------+-------------+ | Job/index | State | Resource Pool | IPs | +------------------------------------+---------+---------------+-------------+ | api_z1/0 | running | large_z1 | 10.244.1.10 | | ha_proxy_z1/0 | running | router_z1 | 10.244.0.34 | | hm_z1/0 | running | medium_z1 | 10.244.1.14 | | loggregator_trafficcontroller_z1/0 | running | small_z1 | 10.244.0.10 | | loggregator_trafficcontroller_z2/0 | running | small_z2 | 10.244.2.10 | | loggregator_z1/0 | running | small_z1 | 10.244.0.14 | | loggregator_z2/0 | running | small_z2 | 10.244.2.14 | | login_z1/0 | running | medium_z1 | 10.244.1.6 | | logs_z1/0 | running | medium_z1 | 10.244.0.2 | | logs_z2/0 | running | medium_z2 | 10.244.2.2 | | nats_z2/0 | running | medium_z2 | 10.244.2.6 | | postgres_z1/0 | running | large_z1 | 10.244.0.30 | | router_z1/0 | running | router_z1 | 10.244.0.22 | | router_z2/0 | running | router_z2 | 10.244.2.22 | | runner_z1/0 | running | runner_z1 | 10.244.0.26 | | taskmaster_z1/0 | running | runner_z1 | 10.244.1.18 | | uaa_z1/0 | running | large_z1 | 10.244.1.2 | +------------------------------------+---------+---------------+-------------+ VMs total: 17