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

Mais conteúdo relacionado

Destaque

Fission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyoFission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyoy_taka_23
 
すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!y_taka_23
 
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016By_taka_23
 
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfestay_taka_23
 
形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証y_taka_23
 
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Samir Hammoudi
 
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8y_taka_23
 

Destaque (7)

Fission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyoFission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyo
 
すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!
 
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
 
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
 
形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証
 
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
 
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
 

Kubernetes でも Serverless したい! #k8sjp