Do it in code (not YAML)! Unlock power of Kotlin DSL for Kubernetes

A presentation at Devoops in October 2019 in St Petersburg, Russia by Viktor Gamov

Slide 1

Slide 1

Do it in code (not YAML)! Unlock power of Kotlin DSL for Kubernetes October / St. Petersburg, Russia 2019 @gamussa @gamussa | | #devoops #devoops | @fedorc @fedor

Slide 2

Slide 2

2 @gamussa | #devoops | @fedor

Slide 3

Slide 3

Тщеславие и маркетинг 🚀 Зафоловь @gamussa @fedor 📸🖼🏋😂 Отметь @gamussa Хэштэг #devoops @fedor

Slide 4

Slide 4

Disclaimer @gamussa | #devoops | @fedor

Slide 5

Slide 5

I GUESS YOU FOLKS ARE NOT READY FOR THIS YET 5 BUT YOUR KIDS ARE GONNA LOVE IT @gamussa | #devoops | @fedor

Slide 6

Slide 6

6 Evolution for YAML in the company Scripts - No YAML Ansible - YAML @gamussa | Helm - YAML #devoops | @fedor ?

Slide 7

Slide 7

WAT?

Slide 8

Slide 8

Осторожно! Следующие слайды причиняют боль @gamussa | #devoops | @fedor

Slide 9

Slide 9

9 @gamussa | #devoops | @fedor

Slide 10

Slide 10

10 @gamussa | #devoops | @fedor

Slide 11

Slide 11

11 @gamussa | #devoops | @fedor

Slide 12

Slide 12

12 @gamussa | #devoops | @fedor

Slide 13

Slide 13

13 @gamussa | #devoops | @fedor

Slide 14

Slide 14

Slide 15

Slide 15

15 BASH WTf? YAML @gamussa | #devoops | @fedor

Slide 16

Slide 16

16 Evolution for YAML in the company Scripts - No YAML Ansible - YAML @gamussa | Helm - YAML #devoops | @fedor Kotlin DSL - No YAML

Slide 17

Slide 17

17 Let’s talk Kubernetes @gamussa | #devoops | @fedor

Slide 18

Slide 18

18 https://twitter.com/claesmogren/status/1108456688175079424 @gamussa | #devoops | @fedor

Slide 19

Slide 19

19 https://twitter.com/claesmogren/status/1108456688175079424 https://twitter.com/QuinnyPig/status/1150927901782499330 @gamussa | #devoops | @fedor

Slide 20

Slide 20

20 @gamussa | #devoops | @fedor

Slide 21

Slide 21

21 @gamussa | #devoops | @fedor

Slide 22

Slide 22

22 Kubernetes Architecture kubectl https://thenewstack.io/kubernetes-an-overview/ @gamussa | #devoops | @fedor

Slide 23

Slide 23

23 Workloads Deployment @gamussa | #devoops | @fedor

Slide 24

Slide 24

24 Usual suspects Docker images Helm Charts @gamussa | #devoops | @fedor

Slide 25

Slide 25

25 @gamussa | #devoops | @fedor

Slide 26

Slide 26

Slide 27

Slide 27

27 Unusual suspects Docker Images Kotlin DSL @gamussa | #devoops | @fedor

Slide 28

Slide 28

https://gamov.dev/devoops19

Slide 29

Slide 29

https://github.com/fkorotkov/k8s-kotlin-dsl

Slide 30

Slide 30

Slide 31

Slide 31

31 a custom Kubernetes controller PODS API Server StatefulSets Applications run on Kubernetes ● Applications use objects like StatefulSets, Configmaps, PVs ● Custom Controllers create custom resources that provide unique application functionality: ConfigMaps Scheduler PVs Controllers & Custom Controllers Custom Resources Master Node Worker Node @gamussa ● Nodes and pods are where | #devoops | @fedor ○ Upgrades, elasticity, Kafka Operational Logic

Slide 32

Slide 32

CONFIDENTIAL 32 Confluent Operator Architecture and Deployment Persistent Volumes - AWS EBS, GlusterFS, GCE Persistent Disk Kubernetes Cluster K8 Node AK Pod K8 Node ZK Pod K8 Node C3 Pod SR Pod External Access Replicator Pod K8 Node Operator KSQL Pod REST Proxy Pod Load Balancers Configurations ConfigMaps

Slide 33

Slide 33

33 @gamussa | #devoops | @fedor

Slide 34

Slide 34

Thanks! @gamussa @fedor https://slackpass.io/confluentcommunity #kubernetes @gamussa | @ #devoops | @fedor

Slide 35

Slide 35

35