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
21
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
52
React/Flux like pattern for embedded UI
suda
0
180
Swagger Driven Development
suda
0
42
Building great CLIs with Node.js
suda
0
57
Projects more accessible for the new contributors
suda
0
37
From Prototype to Production with Particle
suda
0
93
Ember London Show & Tell: Particle
suda
0
26
Building products with Particle
suda
0
26
Leave Coffee Alone!
suda
0
120
Other Decks in Programming
See All in Programming
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
270
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
600
Introduction to kotlinx.rpc
arawn
0
750
『品質』という言葉が嫌いな理由
korimu
0
180
Domain-Driven Transformation
hschwentner
2
1.9k
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
130
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
280
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
53
18k
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.5k
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
190
Pulsar2 を雰囲気で使ってみよう
anoken
0
250
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
Thoughts on Productivity
jonyablonski
69
4.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Speed Design
sergeychernyshev
27
800
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
420
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Music & Morning Musume
bryan
46
6.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Rails Girls Zürich Keynote
gr2m
94
13k
The Language of Interfaces
destraynor
156
24k
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