Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kubernetes - Changing the way we build platforms
Search
Mark Wolfe
September 22, 2015
Technology
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetes - Changing the way we build platforms
Presented at docker meetup in Melbourne 23/09/2015
Mark Wolfe
September 22, 2015
Transcript
22 slides
Kubernetes Changing the way we build platforms
Who is this guy? @wolfeidau on twitter github.com/wolfeidau www.wolfe.id.au DevOps
@ http://www.versent.com.au/
Greek for “Helmsman”; also the root of the word “Governor”
Kubernetes? • Inspired by an internal project at Google, called
Borg • Contributors from Google, Mesos and more • 1.0 release a month or so ago
Containers • Unix processes not lightweight Virtual Machines • Application
+ Dependencies = image • Runtime environment (cgroups, namespaces, environment variables)
• Build applications in a dedicated build container or CI
• Ship build artifacts, not build environments • Rails app container with build tools ~900MB • Rails app container without build tools ~300MB • Go service without build tools ~15MB • Cattle not Pets! Containers
• Container management, scheduling, and service discovery. • API driven
application management • Agents monitor endpoints for state changes (real-time) • Controllers enforce desired state • Resources (nodes, applications, services) Kubernetes
Kubernetes • High level concepts • node • pod •
scheduler • replication • service
Node • Runs containers and proxies service requests. • docker
• kubelet • proxy
Pod • Represents a logical application. • One or more
containers • Shared namespaces
Scheduler • Schedules pods to run on nodes. • Global
scheduler for long running jobs • Best fit chosen based on pod requirements • Pluggable
Replication Controller • Manages a replicated set of pods. •
Creates pods from a template • Ensures desired number of pods are running • Online resizing
Replication Controller • Manages a replicated set of pods. •
Creates pods from a template • Ensures desired number of pods are running • Online resizing
Service • Service discovery for pods. • Proxy runs on
each node • Virtual IP per service (avoid port collisions) • Basic round-robin algorithm • Dynamic backends based on label queries
Example Pod apiVersion: v1 kind: Pod metadata: labels: db: rethinkdb
role: admin name: rethinkdb-admin spec: containers: - image: gcr.io/google_containers/rethinkdb:1.16.0_1 name: rethinkdb env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace ports: - containerPort: 8080 name: admin-port volumeMounts: - mountPath: /data/rethinkdb_data name: rethinkdb-storage volumes: - name: rethinkdb-storage emptyDir: {}
Example Service apiVersion: v1 kind: Service metadata: labels: db: rethinkdb
name: rethinkdb-admin spec: ports: - port: 8080 targetPort: 8080 type: LoadBalancer selector: db: rethinkdb role: admin
Deployment • Continuous Integration / Deployment • Jenkins • Buildkite
• Bamboo
Transparency • Logging • ELK (Elastic Search, Logstash, Kibana) •
Metrics • InfluxDB and Grafana • Tracing • Twitter Zipkin
Resilience • Continuous Failure Testing • Chaos Monkey • Load
Testing • Gattling • boom
Cloud Providers • Kubernetes Supports • Google Cloud Compute and
Container • AWS, being used by Samsung and Others • Openstack • Azure
Questions?
Links • Kubernetes Site • AWS Setup • CoreOS Kubernetes
Vagrant • Kubernetes Rails Deployment • http://fabric8.io/
More Decks by Mark Wolfe
See All by Mark Wolfe
IP Networking in AWS
wolfeidau
0
90
Getting Into Vue.js
wolfeidau
0
210
AWS Automation With Lambda
wolfeidau
1
110
Ansible and Cloudformation
wolfeidau
1
250
Docker Security
wolfeidau
0
220
Building a Proxy in Go
wolfeidau
2
440
Using JWT to Authenticate Microservices
wolfeidau
1
280
Managing Secrets IN AWS
wolfeidau
0
170
ESPlant Workshop Firmware Overview and Demos
wolfeidau
0
160
Other Decks in Technology
See All in Technology
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
An Introduction to Context Ontology Accelerator (teaching AI agents what your data means)
inariku
PRO
1
220
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
230
Kiro Crew の Bot (続く役目を任せる窓口) | 目指せ Kiro マスター 12
inariku
PRO
2
370
evcc & Home Assistant
naltatis
0
590
Steering と Hook (チームの決まりを守らせる) | 目指せ Kiro マスター 06
inariku
PRO
2
110
ぼくのClaude Codeの使い方
falken
PRO
1
980
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.7k
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
160
SREのためのFinOps入門
muziyoshiz
3
1.4k
[dbts2026]数十PBの超巨大データ×AI活用を支えるSnowflakeの実力〜大規模環境におけるアーキテクチャと運用のリアル〜
y_matsubara
0
130
開発者とAIで共に歩み育てていく OSS開発 ~創造しながら育てていく~ / 20261105 Masaki Okuda
shift_evolve
PRO
1
100
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Navigating Weather and Climate Data
rabernat
0
590
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
380
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
580
Leo the Paperboy
mayatellez
11
2.5k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
430
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
Paper Plane (Part 1)
katiecoart
PRO
3
12k