We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Lessons learned writing 10+ Kubernetes Operators

Formal Metadata

Title
Lessons learned writing 10+ Kubernetes Operators
Title of Series
Number of Parts
64
Author
Contributors
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
We have written more than 10 operators for Kubernetes. When we started our journey in 2020, we thought lots of people surely must have done this already. We could not have been more wrong. As it turns out, most people write a single operator: For their product. All of them slightly different. Everyone has their own way of specifying Pod overrides, storage, TLS or LDAP support, log aggregation, monitoring, and so on. This is before we have entered the land of horror that is Kerberos, multi-homing and various other fun topics like certifications. We knew that we would be writing more than one we made sure to move as much functionality into a common framework as possible. That is also the reason we did not pick Go as our programming language of choice but are using Rust instead. Its support for generic (which Go lacked at that point) made it much easier to extract common functionality. In this talk we will tell you about some of the things we learned while writing our operators, pitfalls, open questions, and a plea to collaborate on some standards in the operator world. We – as a community – can do better than today's state, I am sure of it. But you will not only hear the developer’s side, but you will also hear the side of a user and partner of ours who appreciates the ease of use across multiple operators and utilize the Stackable platform to build on prem data platforms for their customers. Would we do it again? Yes. Would we do it differently? Also, yes.