SlideShare a Scribd company logo
机上の Kubernetes
チェシャ猫 (@y_taka_23)
NGK2016B 昼の部 (2016/12/17)
形式手法で見るコンテナオーケストレーション
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
Docker だけだと辛い件
● 複数サーバ間クラスタリング
○ コンテナを立てるサーバの選択
○ 監視・自動復旧
○ オートスケーリング・サービスディスカバリ
○ ネットワークの動的設定
● オーケストレーションのレイヤが必要
そんなとき、役に立つのが
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
コンテナ配置の仕組み
Master
Node1
A
Node2
A
NodeX
・・・
User
Replica Set の作成リクエスト
Master
Node1
A
Node2
A
NodeX
・・・
User
A B × 2 組
Replica Set の作成リクエスト
API Server
Scheduler
Controller Manager
User
Node1
etcd (DB)
× 2 組
A B
Replica Set が作成される
API Server
Scheduler
Controller Manager
User
Node1
etcd (DB)
A B × 2 組
× 2 組
A B
Pod が作成される
API Server
Scheduler
Controller Manager
etcd (DB)
A B × 2 組
Pod が作成される
API Server
Scheduler
Controller Manager
etcd (DB)
A B
A B
@ ????
@ ????
各 Pod を割り当てるサーバを決定
API Server
Scheduler
Controller Manager
etcd (DB)
A B
A B
@ ????
@ ????
各 Pod を割り当てるサーバを決定
API Server
Scheduler
Controller Manager
etcd (DB)
A B
A B
@ Node1
@ Node2
各サーバでコンテナが立ち上がる
API Server
Scheduler
Controller Manager
Kubelet
Node1
etcd (DB)
A B
A B
@ Node1
@ Node2
各サーバでコンテナが立ち上がる
API Server
Scheduler
Controller Manager
Kubelet
Node1
etcd (DB)
A B
A B
@ Node1
@ Node2
A B
コンテナの立ち上げ完了
Master
Node1
A B
Node2
A B
NodeX
・・・
A B × 2 組
User
Kubernetes の特徴
● データを保持するのは etcd のみ
○ 状態は一元管理 + 各コンポーネントによる書き換え
○ 事前状態・事後状態によるモデリング
● 各コンポーネントが自律的に動作
○ システム全体の状態遷移が複雑
○ 全数探索によるあらゆる遷移シナリオの生成
そんなとき、役に立つのが
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
Alloy Analyzer の特徴
● 形式手法の一種、モデル検査器
● 条件を満たす例・満たさない例を全探索
● 発見した具体例を可視化
Kubernetes + Alloy の特徴
● データを保持するのは etcd のみ
○ 状態の一元管理 + 各コンポーネントによる書き換え
○ 事前状態・事後状態によるモデリング
● 各コンポーネントが自律的に動作
○ システム全体の状態遷移が複雑
○ 初期状態と最終状態を与える
○ 全数探索によるあらゆる遷移シナリオの生成
Alloy によるモデリング例
https://gist.github.com/y-taka-23/c13a222aea26195811ca4a19951b86ac
初期状態
Replica Set が作成される
Pod が作成される
各 Pod を割り当てるサーバを決定
各サーバでコンテナが立ち上がる
最終状態
まとめ
● Kubernetes によるオーケストレーション
○ 個々のサーバを隠蔽したコンテナ配置
● Alloy で Kubernetes をモデリング
○ etcd の状態に対する書き換えイベントの列とみなす
● 動作のシナリオを自動生成
○ 初期状態と最終状態を与えると遷移を自動補間
Have a Nice Kubernetes Life!
Presented by
チェシャ猫 (@y_taka_23)

More Related Content

PPTX
俺とKubernetes
PDF
Fission で 始める Containerless Kubernetes #serverlesstokyo
PDF
DockerとKubernetesが作る未来
PDF
DockerからKubernetesへのシフト
PDF
最近のKubernetesとDocker Machine/Swarmの話
PDF
GKEで半年運用してみた
PDF
Kubernetesを触ってみた
PPTX
社内勉強会(Docker)
俺とKubernetes
Fission で 始める Containerless Kubernetes #serverlesstokyo
DockerとKubernetesが作る未来
DockerからKubernetesへのシフト
最近のKubernetesとDocker Machine/Swarmの話
GKEで半年運用してみた
Kubernetesを触ってみた
社内勉強会(Docker)

What's hot (20)

PDF
kubernetes(GKE)環境におけるdatadog利用
PDF
Kubernetesにまつわるエトセトラ(主に苦労話)
PPTX
Kubernetes超入門 with java
PDF
”30分”ぐらいでわかる「Kubernetes」について
PDF
Lattice深掘り話
PDF
Dockerの利用事例
PDF
新しいOpenShiftのしくみを調べてみた
PDF
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
PDF
Kubernetes雑にまとめてみた 2019年12月版
PDF
Docker, Kubernetes and OpenShift v3
PDF
ECS-CLI in Action
PDF
Using LXC on Production
PDF
コンテナ事例 CircleCI, Cucumber-Chef
PPTX
GUI&基本操作、CLI編
PDF
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
PDF
Weaveを試してみた
PDF
【dots. IT勉強会】開発環境のDocker化
PDF
Docker Swarm入門
PPTX
Introduction of Rancher at OSC Tokyo 17 Spring
kubernetes(GKE)環境におけるdatadog利用
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetes超入門 with java
”30分”ぐらいでわかる「Kubernetes」について
Lattice深掘り話
Dockerの利用事例
新しいOpenShiftのしくみを調べてみた
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Kubernetes雑にまとめてみた 2019年12月版
Docker, Kubernetes and OpenShift v3
ECS-CLI in Action
Using LXC on Production
コンテナ事例 CircleCI, Cucumber-Chef
GUI&基本操作、CLI編
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Weaveを試してみた
【dots. IT勉強会】開発環境のDocker化
Docker Swarm入門
Introduction of Rancher at OSC Tokyo 17 Spring
Ad

Viewers also liked (9)

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

Similar to 机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B (20)

PDF
Kubernetesのワーカーノードを自動修復するために必要だったこと
PDF
Solr meeting in Japan 2011
KEY
Web Operations and Perl kansai.pm#14
PDF
これから始めるAzure Kubernetes Service入門
PDF
20170413 aws–windows users meetup
PDF
OSC2012 Tokyo/Spring JOSUG
PDF
Infra: Kubernetes and GKE, Network
PPTX
AKS と ACI を組み合わせて使ってみた
PDF
OSC2011 Tokyo/Fall JOSUG
PPTX
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
PDF
SQL Azure のシームレスな管理
PDF
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
PDF
20120117 13 meister-elasti_cache-public
PPTX
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
PDF
kube-system落としてみました
PDF
Azure で Kubernetes を使う実践的なテクニック
PDF
Amazon ElastiCache - AWSマイスターシリーズ
PDF
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
PDF
OpenStack 101
PDF
Couchbase meetup20140225[Release Note 2.5]
Kubernetesのワーカーノードを自動修復するために必要だったこと
Solr meeting in Japan 2011
Web Operations and Perl kansai.pm#14
これから始めるAzure Kubernetes Service入門
20170413 aws–windows users meetup
OSC2012 Tokyo/Spring JOSUG
Infra: Kubernetes and GKE, Network
AKS と ACI を組み合わせて使ってみた
OSC2011 Tokyo/Fall JOSUG
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
SQL Azure のシームレスな管理
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
20120117 13 meister-elasti_cache-public
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
kube-system落としてみました
Azure で Kubernetes を使う実践的なテクニック
Amazon ElastiCache - AWSマイスターシリーズ
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
OpenStack 101
Couchbase meetup20140225[Release Note 2.5]

机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B