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 Operators: Managing complex software...
Search
Josh Wood
February 05, 2017
Technology
1
170
Kubernetes Operators: Managing complex software with software
FOSDEM '17, Université Libre du Bruxelles, Brussels, Belgium:
https://fosdem.org/2017/
Josh Wood
February 05, 2017
Tweet
Share
More Decks by Josh Wood
See All by Josh Wood
OpenShift and Kubernetes
joshix
0
180
SRE Principle and Operator Practice
joshix
0
710
Operator Hub and your Kubernetes Cluster
joshix
0
470
Operators are about automation
joshix
0
140
Automating Stateful Applications with Kubernetes Operators
joshix
0
170
Developing Apps on OpenShift
joshix
0
60
Intro to building Kubernetes Operators
joshix
1
120
Kubernetes Operators for App Developers
joshix
0
72
Kubernetes Operators
joshix
0
120
Other Decks in Technology
See All in Technology
KMP導⼊において、マネジャーとして考えた事
sansantech
PRO
1
210
セキュリティSaaS企業が実践するCursor運用ルールと知見 / How a Security SaaS Company Runs Cursor: Rules & Insights
tetsuzawa
0
660
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
750
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
830
OpenJDKエコシステムと開発中の機能を紹介 2025夏版
chiroito
1
210
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
GoogleのAI Agent
shukob
0
150
libsyncrpcってなに?
uhyo
0
160
OTel meets Wasm: プラグイン機構としてのWebAssemblyから見る次世代のObservability
lycorptech_jp
PRO
1
310
ソフトウェアテストのAI活用_ver1.10
fumisuke
0
240
他チームへ越境したら、生データ提供ソリューションのクエリ費用95%削減へ繋がった話 / Cross-Team Impact: 95% Off Raw Data Query Costs
yamamotoyuta
0
250
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Visualization
eitanlees
146
16k
Making Projects Easy
brettharned
116
6.2k
How to Ace a Technical Interview
jacobian
276
23k
Writing Fast Ruby
sferik
628
61k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Speed Design
sergeychernyshev
30
970
Embracing the Ebb and Flow
colly
85
4.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
What's in a price? How to price your products and services
michaelherold
245
12k
Transcript
Kubernetes Operators: Managing Complex Software with Software Josh Wood DocOps
at CoreOS @joshixisjosh9
Overview Scaling Stateless Apps
$ kubectl scale replicas=3 ... ReplicaSet
ReplicaSet
ReplicaSet
None
Overview What about apps that…store data
$ kubectl run db --image=quay.io/my/db Creating a Database is Easy
• Resize/Upgrade - coordination for availability • Reconfigure - tedious
generation / templating • Backup - requires coordination on instances • Healing - restore backups, rejoin Managing a Distributed Database is Harder
If only k8s knew...: Extend Kubernetes
$ cat my-db-cluster.yaml spec: clusterSize: 3 readReplicas: 2 version: v4.0.1
The Goal
Introducing Operators
None
None
etcd Overview • Distributed key-value store • Primary datastore of
Kubernetes • Auto-leader election for availability
Operator Construction • Operators build on Kubernetes concepts • Resources:
who what where ; desired state • Controllers: Observe, Analyze, Act to reconcile resources
Third Party Resources • TPRs extend the Kubernetes API with
new API object types • Akin to a database table’s schema - the data model • Designed with custom automation mechanisms in mind • https://kubernetes.io/docs/user-guide/thirdpartyresources/
$ kubectl create -f https://coreos.com/operators/etcd/latest/deployment.yaml etcd Operator
$ cat deployment.yaml spec: clusterSize: 3 version: v3.1.0 etcd Operator
Resource
etcd Operator
etcd Operator Open-source github.com/coreos/etcd-operator
Kubernetes self-hosting etcd Easy HA Setups on Kubernetes Automated backup
to object store Chaos Monkey Testing for 1.0 etcd Operator - Future Work
Prometheus Operator • Operates Prometheus on k8s • Handles common
tasks: ◦ Create/Destroy ◦ Monitor Configuration ◦ Services Targets via Labels • Configured by resources
None
None
Prometheus Operator Open-source github.com/coreos/prometheus-operator
• Read more at coreos.com/blog • Test and Extend the
open source Operators • Build and Discuss other Operators (redis, postgres, MySQL) Next Steps
https://coreos.com/blog/introducing-operators.html https://coreos.com/blog/introducing-the-etcd-operator.html https://github.com/coreos/etcd-operator https://coreos.com/blog/the-prometheus-operator.html https://github.com/coreos/prometheus-operator https://github.com/kubernetes/minikube URLs
CoreOS runs the world’s containers We’re hiring:
[email protected]
[email protected]
90+
Projects on GitHub, 1,000+ Contributors coreos.com Support plans, training and more OPEN SOURCE ENTERPRISE
coreos.com/fest @coreosfest May 31 - June 1, 2017 San Francisco
[email protected]
@joshixisjosh9 joshix.com QUESTIONS? Thanks! We’re hiring: coreos.com/careers Let’s talk!
CoreOS-User google group More events: coreos.com/community LONGER CHAT?