SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Fission で始める
Containerless Kubernetes
Serverless Meetup Tokyo #6 (2017/10/16)
チェシャ猫 (@y_taka_23)
#serverlesstokyo
Fission をめぐる3つの疑問
● なぜ Serverless なのか?
● どうやって実現するのか?
● より実用的に使うには?
#serverlesstokyo
Q : なぜ Serverless なのか?
#serverlesstokyo
A :「都合のいい相手」でいてほしい
#serverlesstokyo
Kubernetes + Serverless = “Containerless”
● コンテナの管理を意識したくない
○ いちいち docker build しない
○ Docker Registry も管理しない
● 平常時にリソースを占有したくない
○ Kubernetes クラスタ上での「従量課金」
○ PaaS 的なモデル (e.g. Beanstalk, Deis) との違い
● プラットフォームに依存したくない
#serverlesstokyo
https://github.com/fission/fission
#serverlesstokyo
Q : どうやって実現するのか?
#serverlesstokyo
A : 必要に応じてコンテナを特殊化
#serverlesstokyo
Fission の On-Demand 戦略
● 普段は汎用コンテナをプール
○ 言語ごとの実行環境
○ 起動したコンテナをあらかじめ準備
● 呼び出しがあったときに特殊化
○ Function の本体を読み込み
○ 以後、特定の Function 専用になる
● しばらく呼び出しがなければ消滅
#serverlesstokyo
Environment の作成
$ fission env create 
--name python 
--image fission/python-env:0.3.0
$ fission env list
NAME UID IMAGE
python 3e2b4c9c-...-fa163ed77208 fission/python-env:0.3.0
$ kubectl -n fission-function get pods
NAME READY STATUS RESTARTS AGE
python-7c608efa-...a09s8 2/2 Running 0 32s
python-7c608efa-...9c72z 2/2 Running 0 32s
python-7c608efa-...fp23r 2/2 Running 0 32s
#serverlesstokyo
Environment の作成
$ fission env create 
--name python 
--image fission/python-env:0.3.0
$ fission env list
NAME UID IMAGE
python 3e2b4c9c-...-fa163ed77208 fission/python-env:0.3.0
$ kubectl -n fission-function get pods
NAME READY STATUS RESTARTS AGE
python-7c608efa-...a09s8 2/2 Running 0 32s
python-7c608efa-...9c72z 2/2 Running 0 32s
python-7c608efa-...fp23r 2/2 Running 0 32s
実行環境を指定
#serverlesstokyo
Environment の作成
$ fission env create 
--name python 
--image fission/python-env:0.3.0
$ fission env list
NAME UID IMAGE
python 3e2b4c9c-...-fa163ed77208 fission/python-env:0.3.0
$ kubectl -n fission-function get pods
NAME READY STATUS RESTARTS AGE
python-7c608efa-...a09s8 2/2 Running 0 32s
python-7c608efa-...9c72z 2/2 Running 0 32s
python-7c608efa-...fp23r 2/2 Running 0 32s
プールされたコンテナ
#serverlesstokyo
Function の作成
$ cat hello.py
def main():
return ‘Hello, World!n’
$ fission function create 
--name hello 
--env python 
--code hello.py
$ fission function list
NAME UID ENV
hello d583fda0-b193-11e7-b4db-fa163ed77208 python
#serverlesstokyo
Function の作成
$ cat hello.py
def main():
return ‘Hello, World!n’
$ fission function create 
--name hello 
--env python 
--code hello.py
$ fission function list
NAME UID ENV
hello d583fda0-b193-11e7-b4db-fa163ed77208 python
ソースコードを指定
#serverlesstokyo
Function の作成
$ kubectl -n fission-function get pods
NAME READY STATUS RESTARTS AGE
python-7c608efa-...fm0sh 2/2 Running 0 2m
python-7c608efa-...w923v 2/2 Running 0 2m
python-7c608efa-...086s2 2/2 Running 0 2m
#serverlesstokyo
Function の作成
$ kubectl -n fission-function get pods
NAME READY STATUS RESTARTS AGE
python-7c608efa-...fm0sh 2/2 Running 0 2m
python-7c608efa-...w923v 2/2 Running 0 2m
python-7c608efa-...086s2 2/2 Running 0 2m
この時点ではプールに変化なし
#serverlesstokyo
トリガーの作成と呼び出し
$ fission route create 
--url /hello 
--function hello
$ curl http://$FISSION_ROUTER/hello
Hello, World!
$ kubectl -n fission-function get pods
NAME READY STATUS RESTARTS AGE
python-7c608efa-...fm0sh 2/2 Running 0 3m
python-7c608efa-...w923v 2/2 Running 0 3m
python-7c608efa-...086s2 2/2 Running 0 3m
python-7c608efa-...23zr1 2/2 Running 0 17s
#serverlesstokyo
トリガーの作成と呼び出し
$ fission route create 
--url /hello 
--function hello
$ curl http://$FISSION_ROUTER/hello
Hello, World!
$ kubectl -n fission-function get pods
NAME READY STATUS RESTARTS AGE
python-7c608efa-...fm0sh 2/2 Running 0 3m
python-7c608efa-...w923v 2/2 Running 0 3m
python-7c608efa-...086s2 2/2 Running 0 3m
python-7c608efa-...23zr1 2/2 Running 0 17s
コンテナが増えた
#serverlesstokyo
Label の書き換えによる特殊化
$ kubectl -n fission-function describe pods
...
# generic pods
Labels: environmentName=python
environmentUid=3e2b4c9c-...-fa163ed77208
pod-template-hash=1809649413
poolMgrInstanceId=UthmnZt
...
# the specialized pod
Labels: functionName=hello
functionUid=d583fda0-b193-11e7-b4db-fa163ed77208
poolMgrInstanceId=UthmnZt
unmanaged=true
...
#serverlesstokyo
Label の書き換えによる特殊化
$ kubectl -n fission-function describe pods
...
# generic pods
Labels: environmentName=python
environmentUid=3e2b4c9c-...-fa163ed77208
pod-template-hash=1809649413
poolMgrInstanceId=UthmnZt
...
# the specialized pod
Labels: functionName=hello
functionUid=d583fda0-b193-11e7-b4db-fa163ed77208
poolMgrInstanceId=UthmnZt
unmanaged=true
...
hello 用に特殊化、プールから外れた
#serverlesstokyo
Q : より実用的に使うには?
#serverlesstokyo
A : Fission Workflows を活用
#serverlesstokyo
Fission Workflows が新登場
● Fission の追加コンポーネント
● Function 間の連携を定義
○ AWS Step Functions 的な役割
○ 依存関係を JSON または YAML で記述
○ 並列実行、待ち合わせ、条件分岐
● 2017 年 10 月 2 日リリース
○ https://github.com/fission/fission-workflows
#serverlesstokyo
まとめ
● なぜ Serverless なのか?
○ イメージやコンテナの管理からの解放
● どうやって実現するのか?
○ 汎用コンテナのプール、呼び出し時の特殊化
● より実用的に使うには?
○ Fission Workflows でより複雑な処理を組み立て
#serverlesstokyo
Enjoy Serverless Kubernetes!
Presented by チェシャ猫 (@y_taka_23)
#serverlesstokyo
Enjoy Serverless Kubernetes!
Presented by チェシャ猫 (@y_taka_23)
Containerless
#serverlesstokyo

Weitere ähnliche Inhalte

Was ist angesagt?

最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話Kazuto Kusama
 
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境Katsutoshi Nagaoka
 
新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみたKazuto Kusama
 
GUI&基本操作、CLI編
GUI&基本操作、CLI編GUI&基本操作、CLI編
GUI&基本操作、CLI編Go Chiba
 
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門Preferred Networks
 
”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」についてYuya Ohara
 
Harbor RegistryのReplication機能
Harbor RegistryのReplication機能Harbor RegistryのReplication機能
Harbor RegistryのReplication機能Masanori Nara
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドMasanori Nara
 
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化Masashi Shinbara
 
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chefコンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-ChefYukihiko SAWANOBORI
 
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.YASUKAZU NAGATOMI
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Masaru Watanabe
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud FoundryKazuto Kusama
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Go Chiba
 
OCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPOCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPTetsuya Sodo
 
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Samir Hammoudi
 

Was ist angesagt? (20)

最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
 
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
 
新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた
 
GUI&基本操作、CLI編
GUI&基本操作、CLI編GUI&基本操作、CLI編
GUI&基本操作、CLI編
 
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
 
”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について
 
ECS-CLI in Action
ECS-CLI in ActionECS-CLI in Action
ECS-CLI in Action
 
Harbor RegistryのReplication機能
Harbor RegistryのReplication機能Harbor RegistryのReplication機能
Harbor RegistryのReplication機能
 
俺とKubernetes
俺とKubernetes俺とKubernetes
俺とKubernetes
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルド
 
対話AI on Kubernetes
対話AI on Kubernetes対話AI on Kubernetes
対話AI on Kubernetes
 
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
 
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chefコンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
 
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
 
Lattice深掘り話
Lattice深掘り話Lattice深掘り話
Lattice深掘り話
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活
 
OCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPOCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCP
 
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
 

Andere mochten auch

Frege, What a Non-strict Language
Frege, What a Non-strict LanguageFrege, What a Non-strict Language
Frege, What a Non-strict Languagey_taka_23
 
猫でもわかる! モデル検査器 SPIN 入門
猫でもわかる! モデル検査器 SPIN 入門猫でもわかる! モデル検査器 SPIN 入門
猫でもわかる! モデル検査器 SPIN 入門y_taka_23
 
Learn You a Frege for Great Good!
Learn You a Frege for Great Good!Learn You a Frege for Great Good!
Learn You a Frege for Great Good!y_taka_23
 
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計y_taka_23
 
Hello, Type Systems! - Introduction to Featherweight Java
Hello, Type Systems! - Introduction to Featherweight JavaHello, Type Systems! - Introduction to Featherweight Java
Hello, Type Systems! - Introduction to Featherweight Javay_taka_23
 
すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!y_taka_23
 
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfestay_taka_23
 
形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証y_taka_23
 
思ったほど怖くない! 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
 

Andere mochten auch (9)

Frege, What a Non-strict Language
Frege, What a Non-strict LanguageFrege, What a Non-strict Language
Frege, What a Non-strict Language
 
猫でもわかる! モデル検査器 SPIN 入門
猫でもわかる! モデル検査器 SPIN 入門猫でもわかる! モデル検査器 SPIN 入門
猫でもわかる! モデル検査器 SPIN 入門
 
Learn You a Frege for Great Good!
Learn You a Frege for Great Good!Learn You a Frege for Great Good!
Learn You a Frege for Great Good!
 
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計
 
Hello, Type Systems! - Introduction to Featherweight Java
Hello, Type Systems! - Introduction to Featherweight JavaHello, Type Systems! - Introduction to Featherweight Java
Hello, Type Systems! - Introduction to Featherweight Java
 
すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!すごい Frege たのしく学ぼう!
すごい Frege たのしく学ぼう!
 
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
 
形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証
 
思ったほど怖くない! 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
 

Ähnlich wie Fission で 始める Containerless Kubernetes #serverlesstokyo

2015-01-27 Introduction to Docker
2015-01-27 Introduction to Docker2015-01-27 Introduction to Docker
2015-01-27 Introduction to DockerShuji Yamada
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜Shuji Yamada
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加するWindows コンテナを AKS に追加する
Windows コンテナを AKS に追加するYuto Takei
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Preferred Networks
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションTakashi Kanai
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?Masahito Zembutsu
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編Fuminobu Takeyama
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspecTsuyoshi Yamada
 
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用Toshiki Tsuboi
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築Saito5656
 
NoOps Japanサイトの紹介
 NoOps Japanサイトの紹介 NoOps Japanサイトの紹介
NoOps Japanサイトの紹介Igarashi Toru
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 

Ähnlich wie Fission で 始める Containerless Kubernetes #serverlesstokyo (20)

2015-01-27 Introduction to Docker
2015-01-27 Introduction to Docker2015-01-27 Introduction to Docker
2015-01-27 Introduction to Docker
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
 
Tekton 入門
Tekton 入門Tekton 入門
Tekton 入門
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加するWindows コンテナを AKS に追加する
Windows コンテナを AKS に追加する
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
AlibabaCloudではじめるKubernetes
AlibabaCloudではじめるKubernetesAlibabaCloudではじめるKubernetes
AlibabaCloudではじめるKubernetes
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 
NoOps Japanサイトの紹介
 NoOps Japanサイトの紹介 NoOps Japanサイトの紹介
NoOps Japanサイトの紹介
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 

Kürzlich hochgeladen

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Kürzlich hochgeladen (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

Fission で 始める Containerless Kubernetes #serverlesstokyo

  • 1. Fission で始める Containerless Kubernetes Serverless Meetup Tokyo #6 (2017/10/16) チェシャ猫 (@y_taka_23) #serverlesstokyo
  • 2. Fission をめぐる3つの疑問 ● なぜ Serverless なのか? ● どうやって実現するのか? ● より実用的に使うには? #serverlesstokyo
  • 3. Q : なぜ Serverless なのか? #serverlesstokyo
  • 5. Kubernetes + Serverless = “Containerless” ● コンテナの管理を意識したくない ○ いちいち docker build しない ○ Docker Registry も管理しない ● 平常時にリソースを占有したくない ○ Kubernetes クラスタ上での「従量課金」 ○ PaaS 的なモデル (e.g. Beanstalk, Deis) との違い ● プラットフォームに依存したくない #serverlesstokyo
  • 9. Fission の On-Demand 戦略 ● 普段は汎用コンテナをプール ○ 言語ごとの実行環境 ○ 起動したコンテナをあらかじめ準備 ● 呼び出しがあったときに特殊化 ○ Function の本体を読み込み ○ 以後、特定の Function 専用になる ● しばらく呼び出しがなければ消滅 #serverlesstokyo
  • 10. Environment の作成 $ fission env create --name python --image fission/python-env:0.3.0 $ fission env list NAME UID IMAGE python 3e2b4c9c-...-fa163ed77208 fission/python-env:0.3.0 $ kubectl -n fission-function get pods NAME READY STATUS RESTARTS AGE python-7c608efa-...a09s8 2/2 Running 0 32s python-7c608efa-...9c72z 2/2 Running 0 32s python-7c608efa-...fp23r 2/2 Running 0 32s #serverlesstokyo
  • 11. Environment の作成 $ fission env create --name python --image fission/python-env:0.3.0 $ fission env list NAME UID IMAGE python 3e2b4c9c-...-fa163ed77208 fission/python-env:0.3.0 $ kubectl -n fission-function get pods NAME READY STATUS RESTARTS AGE python-7c608efa-...a09s8 2/2 Running 0 32s python-7c608efa-...9c72z 2/2 Running 0 32s python-7c608efa-...fp23r 2/2 Running 0 32s 実行環境を指定 #serverlesstokyo
  • 12. Environment の作成 $ fission env create --name python --image fission/python-env:0.3.0 $ fission env list NAME UID IMAGE python 3e2b4c9c-...-fa163ed77208 fission/python-env:0.3.0 $ kubectl -n fission-function get pods NAME READY STATUS RESTARTS AGE python-7c608efa-...a09s8 2/2 Running 0 32s python-7c608efa-...9c72z 2/2 Running 0 32s python-7c608efa-...fp23r 2/2 Running 0 32s プールされたコンテナ #serverlesstokyo
  • 13. Function の作成 $ cat hello.py def main(): return ‘Hello, World!n’ $ fission function create --name hello --env python --code hello.py $ fission function list NAME UID ENV hello d583fda0-b193-11e7-b4db-fa163ed77208 python #serverlesstokyo
  • 14. Function の作成 $ cat hello.py def main(): return ‘Hello, World!n’ $ fission function create --name hello --env python --code hello.py $ fission function list NAME UID ENV hello d583fda0-b193-11e7-b4db-fa163ed77208 python ソースコードを指定 #serverlesstokyo
  • 15. Function の作成 $ kubectl -n fission-function get pods NAME READY STATUS RESTARTS AGE python-7c608efa-...fm0sh 2/2 Running 0 2m python-7c608efa-...w923v 2/2 Running 0 2m python-7c608efa-...086s2 2/2 Running 0 2m #serverlesstokyo
  • 16. Function の作成 $ kubectl -n fission-function get pods NAME READY STATUS RESTARTS AGE python-7c608efa-...fm0sh 2/2 Running 0 2m python-7c608efa-...w923v 2/2 Running 0 2m python-7c608efa-...086s2 2/2 Running 0 2m この時点ではプールに変化なし #serverlesstokyo
  • 17. トリガーの作成と呼び出し $ fission route create --url /hello --function hello $ curl http://$FISSION_ROUTER/hello Hello, World! $ kubectl -n fission-function get pods NAME READY STATUS RESTARTS AGE python-7c608efa-...fm0sh 2/2 Running 0 3m python-7c608efa-...w923v 2/2 Running 0 3m python-7c608efa-...086s2 2/2 Running 0 3m python-7c608efa-...23zr1 2/2 Running 0 17s #serverlesstokyo
  • 18. トリガーの作成と呼び出し $ fission route create --url /hello --function hello $ curl http://$FISSION_ROUTER/hello Hello, World! $ kubectl -n fission-function get pods NAME READY STATUS RESTARTS AGE python-7c608efa-...fm0sh 2/2 Running 0 3m python-7c608efa-...w923v 2/2 Running 0 3m python-7c608efa-...086s2 2/2 Running 0 3m python-7c608efa-...23zr1 2/2 Running 0 17s コンテナが増えた #serverlesstokyo
  • 19. Label の書き換えによる特殊化 $ kubectl -n fission-function describe pods ... # generic pods Labels: environmentName=python environmentUid=3e2b4c9c-...-fa163ed77208 pod-template-hash=1809649413 poolMgrInstanceId=UthmnZt ... # the specialized pod Labels: functionName=hello functionUid=d583fda0-b193-11e7-b4db-fa163ed77208 poolMgrInstanceId=UthmnZt unmanaged=true ... #serverlesstokyo
  • 20. Label の書き換えによる特殊化 $ kubectl -n fission-function describe pods ... # generic pods Labels: environmentName=python environmentUid=3e2b4c9c-...-fa163ed77208 pod-template-hash=1809649413 poolMgrInstanceId=UthmnZt ... # the specialized pod Labels: functionName=hello functionUid=d583fda0-b193-11e7-b4db-fa163ed77208 poolMgrInstanceId=UthmnZt unmanaged=true ... hello 用に特殊化、プールから外れた #serverlesstokyo
  • 22. A : Fission Workflows を活用 #serverlesstokyo
  • 23. Fission Workflows が新登場 ● Fission の追加コンポーネント ● Function 間の連携を定義 ○ AWS Step Functions 的な役割 ○ 依存関係を JSON または YAML で記述 ○ 並列実行、待ち合わせ、条件分岐 ● 2017 年 10 月 2 日リリース ○ https://github.com/fission/fission-workflows #serverlesstokyo
  • 24. まとめ ● なぜ Serverless なのか? ○ イメージやコンテナの管理からの解放 ● どうやって実現するのか? ○ 汎用コンテナのプール、呼び出し時の特殊化 ● より実用的に使うには? ○ Fission Workflows でより複雑な処理を組み立て #serverlesstokyo
  • 25. Enjoy Serverless Kubernetes! Presented by チェシャ猫 (@y_taka_23) #serverlesstokyo
  • 26. Enjoy Serverless Kubernetes! Presented by チェシャ猫 (@y_taka_23) Containerless #serverlesstokyo