Smooth k8s Operator

by Jay Cuthrell
Share and discuss on LinkedIn or HN

Screenshot 2023-02-05 at 12.53.13 PM.png

Source: chat.openai.com

Music: Sade - Smooth Operator (1984)

This week we take a look at growing interest in Kubernetes (k8s) Operators.

The header image is probably stretching the limits of musical analogies through a tortured use of ChatGPT but here we are. Actually, the analogy of a conductor isn’t that bad as long as we assume that one conductor isn’t traveling around for other orchestras unless they play a very specific piece from a very specific composer.

So, now that the k8s Operators concept is turning seven (7!) years old [1], it is reasonable to ask _why_ Operators came into existence. Also, how did we get to a point where _Operator_ was a k8s related term and important enough to be of growing interest now?

Getting Informed

First, there is a canonical definition of Operators that should be referred to even if there are many (many!) vendors that will embrace and extend the definition. Indeed, the placement of the Operators definition in the “Extending” section of k8s documentation is important to keep in mind.

Screenshot 2023-02-05 at 1.41.01 PM.png

Second, growth in both the interest and arguably the adoption of k8s Operators is a key indicator of increasing use of k8s in general. Extending the use cases for k8s means growing numbers of applications that are being considered for inclusion in what were classically human intensive aspects of application deployment / lifecycle / care / feeding that now are seen as desirable automation opportunities – as Operators.

Moves in space with minimum waste and maximum joy 🎶

Sometimes there are applications that might be best described as a skit from Abbott and Costello. Yes, you need to know the names of the applications just like you need to know the names of the players – and if you don’t have operational knowledge about what those players need, things can get very confusing very fast. 🤔

k8s Operators are a means to extract and apply the critical (and very much customized) knowledge required to adequately accomplish common tasks associated with those applications on the playing field. If order and lifecycle matters for these kinds of applications, you’ll appreciate and use Operators.

  • Need to bring in a relief pitcher application? Check. ⚾️
  • Need to know and get what application goes on First, Second, Short Stop, Third, Catcher — and the glove types - and get them off the field at the end of a costly inning? Check. ⚾️
  • Need to know if and ensure this application needs / gets backed up in the 7th inning? Check. ⚾️
  • Need to ensure a team statistician is automatically watching the batting lineup to inform the manager the next batting order choice for applications? Check. ⚾️

No place for beginners or sensitive hearts 🎶

As there are many applications that are stateful, the customizations are many as well. Therefore, the reading for k8s Operators can be a rabbit hole of deeper and deeper customizations, ideally, leading to the use of Operator focused software development kits.

As of this issue of the newsletter, there are +1000 GitHub repositories with references to k8s Operators. Many of these GitHub repositories already have +1k stars.

One topic to keep an eye on is Operator Framework. As of this issue of the newsletter, there are 54 public repositories tagged with the Operator Framework as compared to 556 public repositories tagged with Kubernetes Operator. 📈

So, what will be the next big thing in k8s Operators?

Until then… Place your bets!

Disclosure

I am linking to my disclosure.


  1. Introducing Operators: Putting Operational Knowledge into Software (2016) ↩︎

Topics:

✍️ 🤓 Edit on Github 🐙 ✍️

Share and discuss on LinkedIn or HN
  • Get Fudge Sunday each week