Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes Demystified
Search
Wojtek Siudzinski
May 15, 2018
Programming
46
0
Share
Kubernetes Demystified
“When you look into it, Kubernetes isn’t that complicated after all”
Wojtek Siudzinski
May 15, 2018
More Decks by Wojtek Siudzinski
See All by Wojtek Siudzinski
Strategic and tactical time management
suda
0
69
React/Flux like pattern for embedded UI
suda
0
240
Swagger Driven Development
suda
0
59
Building great CLIs with Node.js
suda
0
72
Projects more accessible for the new contributors
suda
0
49
From Prototype to Production with Particle
suda
0
120
Ember London Show & Tell: Particle
suda
0
35
Building products with Particle
suda
0
40
Leave Coffee Alone!
suda
0
130
Other Decks in Programming
See All in Programming
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
Claspは野良GASの夢をみるか
takter00
0
150
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
220
RTSPクライアントを自作してみた話
simotin13
0
400
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
310
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
19
7.7k
AI開発を加速するためにテスト戦略を言語化した
yoshihiro_shu
0
100
Lessons from Spec-Driven Development
simas
PRO
0
110
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
220
Oxlintのカスタムルールの現況
syumai
5
930
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
420
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Mind Mapping
helmedeiros
PRO
1
220
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Typedesign – Prime Four
hannesfritz
42
3.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Transcript
“WHEN YOU LOOK INTO IT, KUBERNETES ISN’T THAT COMPLICATED AFTER
ALL” WYLIIKITCAA
WHAT IS KUBERNETES? CLUSTER STATE STORE (AND MANAGER)
WHAT IS KUBERNETES? DESIRED STATE CLUSTER
WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick
feasible nodes Update their desired state Get the current state
WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick
feasible nodes Update their desired state Get the current state
HOW DO I SET THE DESIRED STATE? apiVersion: v1 kind:
Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
HOW DO I SET THE DESIRED STATE? $ kubectl create
-f pod-nginx.yaml
WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick
feasible nodes Update their desired state Get the current state
HOW DOES KUBERNETES SELECT THE FEASIBLE NODES? CONTROLLERS
DEPLOYMENT STATEFUL SET DAEMON SET WORKLOAD CONTROLLERS
DEPLOYMENT Declarative updates Rolling back Scaling Creates ReplicaSets WORKLOAD CONTROLLERS
STATEFUL SET Guaranteed order and uniqueness Persistant storage Stable, unique
network identifiers WORKLOAD CONTROLLERS
DAEMON SET Running on all nodes WORKLOAD CONTROLLERS
LABELS
AFFINITY TAINT Node selectors Required/preferred Conditions Eviction TAINT AND AFFINITY
WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick
feasible nodes Update their desired state Get the current state
THE DESIRED STATE
ETCD Distributed key/value store Like a directory tree (/etc) JSON/REST
API Uses a Discovery URL Needs at least 3 nodes for consensus
WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick
feasible nodes Update their desired state Get the current state
KUBELET
None
WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick
feasible nodes Update their desired state Get the current state
None