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 - Changing the way we build platforms
Search
Mark Wolfe
September 22, 2015
Technology
1
130
Kubernetes - Changing the way we build platforms
Presented at docker meetup in Melbourne 23/09/2015
Mark Wolfe
September 22, 2015
Tweet
Share
More Decks by Mark Wolfe
See All by Mark Wolfe
IP Networking in AWS
wolfeidau
0
76
Getting Into Vue.js
wolfeidau
0
200
AWS Automation With Lambda
wolfeidau
1
94
Ansible and Cloudformation
wolfeidau
1
230
Docker Security
wolfeidau
0
200
Building a Proxy in Go
wolfeidau
2
390
Using JWT to Authenticate Microservices
wolfeidau
1
260
Managing Secrets IN AWS
wolfeidau
0
160
ESPlant Workshop Firmware Overview and Demos
wolfeidau
0
140
Other Decks in Technology
See All in Technology
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.5k
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
230
Security Diaries of an Open Source IAM
ahus1
0
210
When an innocent-looking ListOffsets Call Took Down Our Kafka Cluster
lycorptech_jp
PRO
0
120
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
150
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
460
Kubernetesにおける推論基盤
ry
1
190
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
5
370
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
250
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
5
510
マネージャー版 "提案のレベル" を上げる
konifar
21
14k
非情報系研究者へ送る Transformer入門
rishiyama
9
6.5k
Featured
See All Featured
Bash Introduction
62gerente
615
210k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
100
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
980
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
130
A designer walks into a library…
pauljervisheath
210
24k
The Curse of the Amulet
leimatthew05
1
9.7k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
51k
Transcript
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/