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
0
29
Kubernetes Demystified
“When you look into it, Kubernetes isn’t that complicated after all”
Wojtek Siudzinski
May 15, 2018
Tweet
Share
More Decks by Wojtek Siudzinski
See All by Wojtek Siudzinski
Strategic and tactical time management
suda
0
57
React/Flux like pattern for embedded UI
suda
0
200
Swagger Driven Development
suda
0
49
Building great CLIs with Node.js
suda
0
62
Projects more accessible for the new contributors
suda
0
41
From Prototype to Production with Particle
suda
0
100
Ember London Show & Tell: Particle
suda
0
27
Building products with Particle
suda
0
27
Leave Coffee Alone!
suda
0
120
Other Decks in Programming
See All in Programming
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
12
7.4k
PHPカンファレンス関西2025 基調講演
sugimotokei
5
930
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
1.2k
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
160
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
320
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
TypeScriptでDXを上げろ! Hono編
yusukebe
3
860
Caude codeで爆速開発
codelynx
0
100
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
740
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
980
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
Fireside Chat
paigeccino
37
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
108
19k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Practical Orchestrator
shlominoach
189
11k
Docker and Python
trallard
45
3.5k
The Pragmatic Product Professional
lauravandoore
35
6.8k
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