Garden introduction for dea users public
-
Upload
takehiko-amano -
Category
Software
-
view
602 -
download
3
Transcript of Garden introduction for dea users public
DEAがサポートされなくなると聞いてDiego についてちょっとまとめてみた
日本Cloud Foundryグループ理事: 天野武彦
2
自己紹介 ~名前: 天野 武彦
所属:IBM 東京ソフトウェア開発研究所
主な活動: 先端クラウド技術・サービスの推進・啓蒙
(エリア: Cloud Foundry, DevOps, OpenStack, OpenWhisk , Blockchain )
趣味: 目下のところ育児に没頭
Twitter: @ibmamnt
ブログ: http://amanoblog.wordpress.com
3
Cloud Foundry Summit 2016 Frankfurt発表
will not allow for the use
of the DEAs in 2017
Because it was
built in a time
before
standardization,
it’s pretty
ideosyncratic2017年にDEA使うの禁止なw
https://www.cloudfoundry.org/eol-timeline-for-legacy-dea-backend/
ideosyncratic := 特異体
4
マジで! By 某社CF担当
youtube見ている場合ではない!!
5
なにが課題か?
• 現在の DEA (Droplet Execution Agent)ではコンテナのエコシステムが享受できない
– 標準のコンテナ実行環境でない
• 死活監視を実行している Health Manager
(HM9000) の負担が大きく、思ったほどスケールしない
• Cloud Controller が DEAの配置をしており、オーケストレーション機能が弱い
• クラスターの概念がない
ここらあたり
Cloud Foundry のアーキテクチャ (DEA)
6
DEA + Go = Diego
The Go gopher was designed by Renee French
7
Diego のメリット• Linux, Docker, .NET
• セキュア通信
• sshアクセス
• クラスタ機能
–Isolation Segment
(旧:Elastic Clusters) 検討中
• スケールする死活監視
• さらに機能拡張予定– network isolation, traffic shaping, configurable
crash application policies, etc
8
DEAとDiego の比較
https://www.cloudfoundry.org/cloud-foundry-containers-difference-warden-docker-garden/
: DEA Diego
Buildpackサポート ○ ○(一部動かないものがある例:swift )
コンテナ Warden Garden*)
死活監視 起動時にポートチェック。アプリケーション稼動状況を監視、異常であれば Health Manager が再配置
ポートがある場合には定期的にポートチェック。アプリケーション異常チェックも実施する
セキュリティー allow/denyルール ASG (Application Security Group)
より細かい設定ができる
コンテナの配置 DEA pool からの選択アルゴリズム Auction システム
*) より Dockerとの親和性の高い runCベースの Garden-runCを推奨しつつあります。
9
少し余談 Garden-runC (Guardian)のページ
日本 Cloud Foundry グループでの会話(Slack)
A氏:Kawasaki ってなに?B氏:バイクかな~。C氏:速いってことじゃね??
Garden担当のJulz Friedman に聞いてみました。
10
ガイカワサキ (Guy Kawasaki)
Image source from http://guykawasaki.com/resources/
さらに後日談:
there's a team working on a new network plugin that does cross-host networking which will replace Kawasaki, unfortunately they thought Kawasaki was a type of motorbike so they thought they'd stick with the theme and called it Ducati
Cloud Foundry開発者もKawasaki をバイクと勘違いして、コンテナネットワークコンポーネントをDucati に変えた。
https://ja.wikipedia.org/wiki/テクニカルエヴァンジェリスト
有名なテクニカルエヴァンジェリストの一人
11
なんかえらい変更ようにみえるけど俺・私のイノベーティブなアプリ大丈夫?
• エンドユーザー視点だと“ほぼ”同じ使い方です。
$ cf push <app>
• ただし、以下の環境変数が変更になるので、アプリケーションの改修が必要になる場合があると思われます。
– VCAP_APP_PORT → PORT に変更
– VCAP_APP_HOST → なくなりました(※VCAP_APP_HOSTは DEAでも Deprecate されています)
12
Diego へマイグレーション
$ cf migrate-apps diego
※ 実際には、Cloud Foundry の管理者、もしくは Cloud Foundry プロバイダーのガイドに従って下さい。
13
その他の細かい注意点
• ルートなしアプリケーション (cf push --no-route) ではポートベース監視を”none”にする
cf set-health-check APP_NAME none
※この状態でもアプリケーション異常終了の監視はします
• cf files コマンドが使えません
理由などは Diego への移行ドキュメントに詳しく記述されています。https://github.com/cloudfoundry/diego-design-notes/blob/master/migrating-to-diego.md
14
すごい細かい変更
• アプリケーションログが App から APP になります(笑)
2016-10-05T16:26:57.91+0900 [APP/0] OUT [tty.js] 1 Created pty (id: /dev/pts/0, master: 12, pid:
5672).
2016-10-05T17:08:50.96+0900 [APP/0] OUT [tty.js] 1 Client disconnected.
2016-10-05T17:08:50.96+0900 [APP/0] OUT [tty.js] 1 Killing all pty's.
2016-10-05T17:08:50.96+0900 [APP/0] OUT [tty.js] 1 Closed pty (/dev/pts/0): 12.
2016-10-05T17:08:52.25+0900 [APP/0] OUT [tty.js] 2 Session 2 created.
2016-10-05T17:22:37.12+0900 [App/0] OUT [tty.js] Listening on port 61402.
2016-10-05T17:22:52.43+0900 [App/0] OUT [tty.js] 0 Session 0 created.
15
参考文献
• Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
–http://www.slideshare.net/jacopen/diego-45603123
• Diego Update (2015 Cloud Foundry Summit資料)
–http://www.slideshare.net/Pivotal/cloud-foundry-
summit-2015-diego-update
Happy Cloud Foundry !
ご清聴ありがとうございました