Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Kubernetes でも Serverless したい! #k8sjp

5.942 visualizaciones

Publicado el

Kubernetes Meetup Tokyo #7 のスライドです。Kubernetes 上で Serverless を実現するフレームワークとして Kubeless と Fission を紹介し、それぞれのアーキテクチャを比較します。

関連ブログ記事 : http://ccvanishing.hateblo.jp/entry/2017/10/14/092409
当日の動画 : https://www.youtube.com/watch?v=kjK-LpvfZFU

Publicado en: Tecnología
  • Inicia sesión para ver los comentarios

Kubernetes でも Serverless したい! #k8sjp

  1. 1. Kubernetes でも Serverless したい! Kubernetes Meetup #7 (2017/10/12) チェシャ猫 (@y_taka_23) #k8sjp
  2. 2. Serverless + Kubernetes = ? #k8sjp
  3. 3. “Containerless” Kubernetes ● コンテナの存在を意識させない ○ いちいち docker build を行わない ○ ソースコードを直接アップロード ● Containerless のメリット ○ 開発者はコードだけに集中できる ○ イメージ管理の煩わしさが減る #k8sjp
  4. 4. Containerless の選択肢 ● Funktion (206 stars) ○ https://github.com/funktionio/funktion ● Kubeless (1,156 stars) ○ https://github.com/kubeless/kubeless ● Fission (2,503 stars) ○ https://github.com/fission/fission #k8sjp
  5. 5. Architecture #k8sjp
  6. 6. Kubeless Kubernetes-Native #k8sjp
  7. 7. Kubeless の動作原理 ● 追加の API サーバなどは不要 ● Function の登録 ○ Function ごとに個別の Pod を作成 ○ ソースコードは ConfigMap でマウント ○ Init-container がライブラリをインストール ● Function の実行 ○ Service 経由でコンテナにアクセス #k8sjp
  8. 8. Pod: hello Python pip hello.py ConfigMap Service: hello HTTP #k8sjp
  9. 9. Fission On-Demand Specialization #k8sjp
  10. 10. Fission の動作原理 ● Environment (v2) の登録 ○ 汎用 Pod をあらかじめプールしておく ○ 実行用 Pod の他にも Builder 用 Pod を登録 ● Function の登録 ○ Builder Pod 内でビルド, zip を Storage に保存 ● Function の実行 ○ Pool Manager がプールされた Pod をひとつ選択 ○ その Pod 内に zip を Storage から取得して実行 #k8sjp
  11. 11. hello.py Pod: Builder Pod: Python Python Pod: Python Python Pod: Python Python hello.zip Storage upload #k8sjp
  12. 12. Pod: hello Python Pod: Python Python Pod: Python Python hello.zip StoragePool Mgr Router HTTP specialize #k8sjp
  13. 13. Pod: hello Python Pod: Python Python Pod: Python Python hello.zip StoragePool Mgr Router hello.zip download #k8sjp
  14. 14. Pros / Cons #k8sjp
  15. 15. 起動速度 / リソース消費 ● 起動速度 ○ Kubeless: 専用 Pod を用意しておくので速い ○ Fission: 初回はダウンロードのオーバヘッドあり ● リソース消費 ○ Kubeless: Function の種類だけ個別に Pod が必要 ○ Fission: 普段はプールしてある汎用 Pod の分のみ必要 #k8sjp
  16. 16. トリガの自由度 ● Kubeless ○ Kubernetes 内で完結 => トリガはイメージに依存 ○ HTTP, Kafka ● Fission ○ 独立した専用コンポーネント => トリガの方法いろいろ ○ HTTP, Message Queue, Timer, Kubernetes Events #k8sjp
  17. 17. まとめ ● Serverless = Containerless ○ イメージ / コンテナの管理を意識させない ● 両者の方向性の違い ○ Kubeless: Kubernetes の仕組みを最大限利用 ○ Fission: FaaS の機能を Kubernetes 上で再現 ● シンプルさは Kubeless, 機能面は Fission #k8sjp
  18. 18. Have a Nice Function! Presented by チェシャ猫 (@y_taka_23) #k8sjp

×