BOSH-lite で 1VM Cloud Foundry

  • 2,818 views
Uploaded on

Cloud Foundry v2 環境を BOSH-lite を使用して Vagrant VM 上に構築する方法を解説します。

Cloud Foundry v2 環境を BOSH-lite を使用して Vagrant VM 上に構築する方法を解説します。

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,818
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
36
Comments
2
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 が公開され実 用化され、最近実用レベルに
  • 7. 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 などの混在も可能
  • 11. Cloud Foundry のデプロイ
  • 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