Once Upon a Time in Kubernetes Operator land…

A presentation at All Day DevOps in November 2020 in by Karthik Gaekwad

Slide 1

Slide 1

TRACK: MODERN INFRASTRUCTURE NOVEMBER 12, 2020 Once Upon A Time in Kubernetes Operator Land…. Karthik Gaekwad @iteration1 Head of Cloud Native Engineering Verica

Slide 2

Slide 2

TRACK: MODERN INFRASTRUCTURE Karthik Gaekwad ● ● ● ● ● Head of Cloud Native Engineering at Verica. Authored Learning Kubernetes and a many other cloudnative courses on LinkedIn learning. Built Oracle Managed Kubernetes Engine and Principal Developer Advocate for Oracle Cloud. Organizes: Devopsdays Austin, Cloud Austin, All Day Devops, Container Days. @iteration1 on twitter

Slide 3

Slide 3

TRACK: MODERN INFRASTRUCTURE verica.io/book

Slide 4

Slide 4

TRACK: MODERN INFRASTRUCTURE Today… • • • • What are Kubernetes Operators Why Use Cases for Operators Demo (How To Operators) Conclusions

Slide 5

Slide 5

TRACK: MODERN INFRASTRUCTURE What are Operators? • NOT the people who run or work with Kubernetes….

Slide 6

Slide 6

TRACK: MODERN INFRASTRUCTURE What are Operators? • Kubernetes Software Pattern • Create Custom Resources to manage applications and components. • Part of the Kubernetes Control Loop, and allows you to extend the Kubernetes API

Slide 7

Slide 7

TRACK: MODERN INFRASTRUCTURE Operators v/s API v/s Helm Why should I build an operator versus just using the Kubernetes Client API or Helm? IF you… • Need added control over the lifecycle of object creation, updating. • Building an application to control/manage Kubernetes applications. • Need to be able to access internal Kube components (inside out versus outside in)

Slide 8

Slide 8

TRACK: MODERN INFRASTRUCTURE Operator Examples Chaos Engineering Verification • Use an operator to run verifications. • Read/Update/Delete Kubernetes resources (like pods) • Finer control over resources in the cluster (timing, traffic shaping etc). • Verification State Management while it’s running.

Slide 9

Slide 9

TRACK: MODERN INFRASTRUCTURE What Languages? • Most Common: • • • Golang Ansible Helm • Newer! • Java • • Python • • https://kubernetes.io/blog/2019/11/26/develop-a-kubernetes-controller-in-java/ https://medium.com/swlh/building-a-kubernetes-operator-in-python-with-zalandos-kopf-37c311d8 edff Others? • Come talk to me after the talk- Interested to learn more

Slide 10

Slide 10

TRACK: MODERN INFRASTRUCTURE Development Lifecycle

Slide 11

Slide 11

TRACK: MODERN INFRASTRUCTURE Maturity Model https://docs.openshift.com/container-platform/4.1/applications/operators/olm-what-operators-are.html#olm-maturity-model_olm-what-operators-are

Slide 12

Slide 12

TRACK: MODERN INFRASTRUCTURE Demo!

Slide 13

Slide 13

TRACK: MODERN INFRASTRUCTURE Docs and Community • Community: https://github.com/operator-framework/community-ope rators • Docs: https://sdk.operatorframework.io/docs/

Slide 14

Slide 14

TRACK: MODERN INFRASTRUCTURE Conclusions - Operators allow you to build custom applications in a Kubernetes Cluster. - Allows you to extend a Kubernetes Application - What will you build?

Slide 15

Slide 15

TRACK: MODERN INFRASTRUCTURE THANK YOU TO OUR SPONSORS