Slide 1

Slide 1 text

Demo https://github.com/philips/etcd-prometheus-operator-demo

Slide 2

Slide 2 text

Brandon Philips @brandonphilips | [email protected] | coreos.com Distributed Systems Simplified Using Kubernetes

Slide 3

Slide 3 text

Overview Scaling Stateless Apps

Slide 4

Slide 4 text

ReplicaSet

Slide 5

Slide 5 text

ReplicaSet

Slide 6

Slide 6 text

Overview Scaling Complex Apps

Slide 7

Slide 7 text

$ kubectl run db --image=quay.io/my/db Creating a Database is Easy on Kubernetes

Slide 8

Slide 8 text

● Resize/Upgrade - coordination for availability ● Reconfigure - tedious generation / templating ● Backup - requires coordination on instances ● Healing - observe and act for recovery Managing a Distributed Database is Harder

Slide 9

Slide 9 text

Idea: Extend Kubernetes

Slide 10

Slide 10 text

$ cat my-db-cluster.yaml spec: clusterSize: 3 readReplicas: 2 version: v4.0.1 The Dream

Slide 11

Slide 11 text

Introducing Operators

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

etcd Overview ● Introduced in 2013 by CoreOS ● Primary datastore of Kubernetes ● Auto-leader election for availability

Slide 14

Slide 14 text

$ cat etcd-cluster.yaml spec: clusterSize: 3 version: v3.1.0 etcd Operator Resource

Slide 15

Slide 15 text

etcd Operator

Slide 16

Slide 16 text

etcd Operator Open-source github.com/coreos/etcd-operator

Slide 17

Slide 17 text

Kubernetes self-hosting etcd Easy HA Setups on Kubernetes Automated backup to object store Chaos Monkey Testing for 1.0 etcd Operator - Future Work

Slide 18

Slide 18 text

Prometheus Operator ● Operates Prometheus on k8s ● Handles common tasks: ○ Create/Destroy ○ Monitor Configuration ○ Services Targets via Labels ● Configured by resources

Slide 19

Slide 19 text

Prometheus Operator Also Open-source github.com/coreos/prometheus-operator

Slide 20

Slide 20 text

● Read more at coreos.com/blog ● Try out these new Operators ● Build and Discuss other Operators (redis, postgres, etc) Next Steps

Slide 21

Slide 21 text

Thank you! Brandon Philips @brandonphilips | [email protected] | tectonic.com We’re hiring in all departments! Email: [email protected] Positions: coreos.com/ careers