cloud focker を試してみた public

22
© 2014 IBM Corporation Cloud Focker を試してみた 20PaaS 勉強会 2014919ibmamnt

Upload: takehiko-amano

Post on 05-Dec-2014

277 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Cloud focker を試してみた   public

© 2014 IBM Corporation

Cloud Focker を試してみた

第20回 PaaS 勉強会

2014年9月19日

@ibmamnt

Page 2: Cloud focker を試してみた   public

© 2014 @ibmamnt

自己紹介 ~

名前: 天野 武彦

所属:IBM 東京ソフトウェア開発研究所

主な活動: 先端開発技術の推進・啓蒙

(エリア: Cloud Foundry, Orion, Jazz, DevOps)

趣味: 目下のところ育児に没頭

ブログ: http://amanoblog.wordpress.com

つぶやきはじめました (@ibmamnt)

Page 3: Cloud focker を試してみた   public

© 2014 @ibmamnt

よく聞く話・・・

• Cloud Foundry いいんだけど、デバッグどうやればいいの?

• sshできないっす!( tmate-boostrapで出来る?https://github.com/danhigham/tmate-bootstrap/blob/master/scripts/cf-ssh )

• サービスにつなげられない

• そもそも動かないんだけど・・・

だけではよくわからな“cf logs --recent” だけではよくわからないことが多い。そもそもコンテナ⽴ち

上がらないと、”cf files” コマンドも動かない。

Page 4: Cloud focker を試してみた   public

© 2014 @ibmamnt

いままでのおさらい、他

• cf-debug-tools の紹介 by @morika_tさん– 「Cloud foundry(v2)へアプリを載せ替え」

(http://www.slideshare.net/morika_t/cloud-foundryv2-17-cloud-foundry )

• Node アプリケーションのリモートデバッグツール by @pmuellrさん(IBM)– https://github.com/pmuellr/cf-node-debug

• あと Java とかのリモートデバッグ手法– http://www.paasmag.com/2014/07/31/debugging-java-

applications-running-in-bluemix/

Page 5: Cloud focker を試してみた   public

© 2014 @ibmamnt

そもそもステージ

できないと・・・

今日も stage failed !

Page 6: Cloud focker を試してみた   public

© 2014 @ibmamnt

Cloud Focker について

• Cloud Foundry Docker = Cloud Focker

Cloud Foundry のコンテナをローカルPCで動かす仕組み

– CloudCredo社がプロジェクトとして発表• https://github.com/CloudCredo/cloudfocker

• まだ Version 0.0.1 で始まったばかり

–特徴• Cloud Foundry の stack (lucid64)をベース

• コンテナは Docker で動かす

• buildpackのサポート!

※ @kenojiriさんの twitter メッセージで知りました!

Page 7: Cloud focker を試してみた   public

© 2014 @ibmamnt

Cloud Focker at a glance

fock up

Cloud Foundry Container( lucid64)

Application source buildpack+

stage

Cloud Focker image (Ubuntu / Docker)

Run application

run

Page 8: Cloud focker を試してみた   public

© 2014 @ibmamnt

fock コマンド

VERSION:

0.0.1

COMMANDS:

docker Docker情報出⼒

this Cloud Foundry image ダウンロード

up アプリケーション stage と実⾏

off アプリケーションコンテナ停止

buildpacks buildpack表示

add-buildpack buildpack追加

delete-buildpack buildpack削除

stage stageだけ実⾏

run stageされたアプリの実⾏

Page 9: Cloud focker を試してみた   public

© 2014 @ibmamnt

ビルドパック追加

$ fock buildpacks

java-buildpack

nodejs-buildpack

$ fock add-buildpack

https://github.com/cloudfoundry/ruby-buildpack.git

$ fock buildpacks

java-buildpack

nodejs-buildpack

ruby-buildpack

Ruby のビルドパックを追加

Ruby ビルドパック追加された

Page 10: Cloud focker を試してみた   public

© 2014 @ibmamnt

doraでも動かすか!

• 輪読会で定評のある dora

$pwd

/tmp/cf-acceptance-tests/assets/dora

$ echo “web: exec bundle exec rails server -p $PORT” > Procfile

$fock up

Starting the CloudFocker container...

Running Buildpacks...

-----> Compiling Ruby/Rack

Started the CloudFocker container.

Connect to your running application at http://localhost:8080/

$curl http://localhost:8080

Hi, I'm Dora!

※※※※重要

Page 11: Cloud focker を試してみた   public

© 2014 @ibmamnt

Cloud Focker : orzな点

# fock up

Starting the CloudFocker container...

Running Buildpacks...

Started the CloudFocker container.

Deleting the CloudFocker container...

cloudfocker-staging

Deleted container.

2014/09/18 02:01:22 Staging failed

Stage 失敗してもコンテナ削除しないでくれ orz・・・

Page 12: Cloud focker を試してみた   public

© 2014 @ibmamnt

Tips

• Procfile が必要な場合がある (Node, Ruby)

web: <コマンド>

• VCAP_APP_PORTなど環境変数なし– process.env.PORTなどに変更

• わりと動かない– IBM Liberty buildpack (^O^)

まだ産声をあげたところなので、温かく⾒守りましょう!

Page 13: Cloud focker を試してみた   public

© 2014 @ibmamnt

コンテナに入ってみる

$docker ps

CONTAINER ID IMAGE NAMES

222c0f6535bb cloudfocker-base:latest /bin/bash

$PID=$(docker inspect --format {{.State.Pid}} 222c0f6535bb)

$sudo nsenter --target $PID --mount --uts --ipc --net --pid

# pstree -a

bash /app/cloudfocker-start-1c4352a23e52040ddb1857d7675fe3cc.sh /app

bundle exec rackup config.ru -p $PORT

└─ruby /app/vendor/bundle/ruby/2.0.0/bin/rackup config.ru -p 8080

└─2*[{ruby}]

nsenter コマンドを使う

Page 14: Cloud focker を試してみた   public

© 2014 @ibmamnt

Cloud Foundry Warden との違い

• アプリケーション起動は wshdではなく独自の仕組み

• アプリケーションは /home/vcap/app ではなくて /app に直接放り込まれる

• Port: 8080 でフォワードされている

• /home/vcap/logs にあたるものが⾒当たらない

– 当面 “docker logs <コンテナ>” で代用

• サービスとの bind は vcap_service.jsonファイルに直接記入

• コンテナは1個だけサポート(のように⾒える。

要確認)

Page 15: Cloud focker を試してみた   public

© 2014 @ibmamnt

用途

• ビルドパック開発

• アプリケーションローカルデバッグ

• アプリケーションポーティングのプロトタイプ

• 等

Page 16: Cloud focker を試してみた   public

© 2014 @ibmamnt

感想

• Version 0.0.1 にしてはわりとよくできている

• 課⾦を気にする会社にはよいのではないか

– Cloud Focker である程度動作確認(デバッグ)して

から、Cloud Foundry PaaSに deploy

• お手軽!

– 昔の PC 環境でも使える

• スペックが低いPCで開発というのは結構よく聞く

– cf-nise-install との併用推奨

Page 17: Cloud focker を試してみた   public

© 2014 @ibmamnt

【余談】最近のBluemix

⼥⼦会やったり

あと踊ってみたりww

https://www.youtube.com/watch?v=UXXiS_IYROE

Page 18: Cloud focker を試してみた   public

© 2014 @ibmamnt

すこし宣伝など

みんなでラスベガスに⾏こう!\(^o^)/http://www-01.ibm.com/software/events/interconnect/

Image from Wikipedia

Image from http://www.las-vegas-urlaub.com/hotel-mandalay-bay.htm

2万人募集中!

今年はナイトクラブにラップトップ持ち込ん

で話を聞いていたらしい

Page 19: Cloud focker を試してみた   public

© 2014 @ibmamnt

ご清聴ありがとうごご清聴ありがとうございました!

Page 20: Cloud focker を試してみた   public

© 2014 @ibmamnt

AppendixAppendixCloud Focker の導入

Page 21: Cloud focker を試してみた   public

© 2014 @ibmamnt

Cloud Focker の導入(簡単版)

• VirtualBox / Vagrant を導入

• Cloud Focker プロジェクトクローン

– git clone https://github.com/CloudCredo/cloudfocker.git

• OS イメージ導入

$ vagrant up –provider virtualbox

$ vagrant ssh

• nsenterの導入

docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter(/usr/local/bin に入る)

Page 22: Cloud focker を試してみた   public

© 2014 @ibmamnt

資料の最終ページ