Garden introduction for dea users public

17
DEAがサポートされなくなると聞いて Diego についてちょっとまとめてみた 日本Cloud Foundryグループ 理事: 天野武彦

Transcript of Garden introduction for dea users public

Page 1: Garden introduction for dea users   public

DEAがサポートされなくなると聞いてDiego についてちょっとまとめてみた

日本Cloud Foundryグループ理事: 天野武彦

Page 2: Garden introduction for dea users   public

2

自己紹介 ~名前: 天野 武彦

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

主な活動: 先端クラウド技術・サービスの推進・啓蒙

(エリア: Cloud Foundry, DevOps, OpenStack, OpenWhisk , Blockchain )

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

Twitter: @ibmamnt

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

Page 3: Garden introduction for dea users   public

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 := 特異体

Page 4: Garden introduction for dea users   public

4

マジで! By 某社CF担当

youtube見ている場合ではない!!

Page 5: Garden introduction for dea users   public

5

なにが課題か?

• 現在の DEA (Droplet Execution Agent)ではコンテナのエコシステムが享受できない

– 標準のコンテナ実行環境でない

• 死活監視を実行している Health Manager

(HM9000) の負担が大きく、思ったほどスケールしない

• Cloud Controller が DEAの配置をしており、オーケストレーション機能が弱い

• クラスターの概念がない

ここらあたり

Cloud Foundry のアーキテクチャ (DEA)

Page 6: Garden introduction for dea users   public

6

DEA + Go = Diego

The Go gopher was designed by Renee French

Page 7: Garden introduction for dea users   public

7

Diego のメリット• Linux, Docker, .NET

• セキュア通信

• sshアクセス

• クラスタ機能

–Isolation Segment

(旧:Elastic Clusters) 検討中

• スケールする死活監視

• さらに機能拡張予定– network isolation, traffic shaping, configurable

crash application policies, etc

Page 8: Garden introduction for dea users   public

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を推奨しつつあります。

Page 9: Garden introduction for dea users   public

9

少し余談 Garden-runC (Guardian)のページ

日本 Cloud Foundry グループでの会話(Slack)

A氏:Kawasaki ってなに?B氏:バイクかな~。C氏:速いってことじゃね??

Garden担当のJulz Friedman に聞いてみました。

Page 10: Garden introduction for dea users   public

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/テクニカルエヴァンジェリスト

有名なテクニカルエヴァンジェリストの一人

Page 11: Garden introduction for dea users   public

11

なんかえらい変更ようにみえるけど俺・私のイノベーティブなアプリ大丈夫?

• エンドユーザー視点だと“ほぼ”同じ使い方です。

$ cf push <app>

• ただし、以下の環境変数が変更になるので、アプリケーションの改修が必要になる場合があると思われます。

– VCAP_APP_PORT → PORT に変更

– VCAP_APP_HOST → なくなりました(※VCAP_APP_HOSTは DEAでも Deprecate されています)

Page 12: Garden introduction for dea users   public

12

Diego へマイグレーション

$ cf migrate-apps diego

※ 実際には、Cloud Foundry の管理者、もしくは Cloud Foundry プロバイダーのガイドに従って下さい。

Page 13: Garden introduction for dea users   public

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

Page 14: Garden introduction for dea users   public

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.

Page 15: Garden introduction for dea users   public

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

Page 16: Garden introduction for dea users   public

Happy Cloud Foundry !

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

Page 17: Garden introduction for dea users   public