BOSH-lite で 1VM Cloud Foundry
-
Upload
iyudai -
Category
Technology
-
view
3.346 -
download
3
description
Transcript of BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundry
岩嵜 雄大 @ i_yudai
NTT Laboratory
Software Innovation Center
2013-10-25
1VM Cloud Foundry の歴史
BOSH-lite の概要
Cloud Foundry のデプロイ実践
Outline
2
1VM Cloud Foundry の 歴史
Micro Cloud Foundry
– All-in-One VM イメージ
Cloud Foundry v1 時代
4
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 に追従
Cloud Foundry v2 時代
古くから存在は確認されていた – https://groups.google.com/a/cloudfoundry.org/d/msg/bos
h-dev/dnSJemZayjo/m60nd8umm6IJ
8月ぐらいに BOSH-lite が公開され実
用化され、最近実用レベルに
幻の Warden CPI と 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 の概要
ホストマシン
Vagrant VM (Micro BOSH 相当)
BOSH-Lite の構成
Warden VM DEA
Warden VM Router
Warden VM CCNG
Warden VM Login
Warden VM NATS
Warden VM Postgres
Warden VM UAA
Warden VM Log
Director
Warden CPI でコンテナを生成
BOSH CLI BOSH Lite
ラップトップ上でも動く BOSH 環境
– 1VM 6GB のメモリ
すべての操作が BOSH 互換
– AWS や OpenStack への移行が容易
最新の cf-release が使用できる
– cf-services-release などの混在も可能
BOSH-lite の利点
Cloud Foundry のデプロイ
Vagrantは v 1.3.4 以降をインストールしておく
– http://www.vagrantup.com/
BOSH-lite の起動
12
# 環境の準備
$ 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 は固定
通常の BOSH と同じ操作を行う
cf-release の準備
# cf-release のクローン
$ cd ~ $ git clone https://github.com/cloudfoundry/cf-release.git $ cd cf-release # サブモジュールのチェックアウト
$ ./update # 最新のコードでリリースを作成する
$ bosh –n create release # 生成したリリースを BOSH にアップロード
$ bosh upload release
Warden CPI 用の Stemcell を使用する
Stemcell のアップロード
$ wget http://bosh-jenkins-gems-warden.s3.amazonaws.com/stemcells/latest-bosh-stemcell-warden.tgz $ bosh upload stemcell latest-bosh-stemcell-warden.tgz
Deployment Manifest の生成ツール
– https://github.com/vito/spiff
– Go 環境が必要
Spiff のインストール
# 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
17VM
Deploy 結果
$ 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