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
170
SRE Principle and Operator Practice
joshix
0
680
Operator Hub and your Kubernetes Cluster
joshix
0
460
Operators are about automation
joshix
0
140
Automating Stateful Applications with Kubernetes Operators
joshix
0
170
Developing Apps on OpenShift
joshix
0
57
Intro to building Kubernetes Operators
joshix
1
110
Kubernetes Operators for App Developers
joshix
0
70
Kubernetes Operators
joshix
0
110
Other Decks in Technology
See All in Technology
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.3k
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
160
OPENLOGI Company Profile
hr01
0
62k
Agile TPIを活用した品質改善事例
tomasagi
0
650
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
4
1.1k
Spice up your notifications/try!Swift25
noppefoxwolf
2
150
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
4
630
ウォンテッドリーにおける Platform Engineering
bgpat
0
180
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
220
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.4k
Zabbixチョットデキルとは!?
kujiraitakahiro
0
150
「それはhowなんよ〜」のガイドライン #orestudy
77web
9
2.4k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Being A Developer After 40
akosma
90
590k
Bash Introduction
62gerente
611
210k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Agile that works and the tools we love
rasmusluckow
328
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
510
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Statistics for Hackers
jakevdp
798
220k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
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: careers@coreos.com sales@coreos.com 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
j@coreos.com @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?