Chapter 21. Implementing an Operator

A key tenet of Kubernetes is its ability to be extended beyond the core API by the operators of the system. Many (these authors included) believe this extensibility was a driving factor in the dominance of Kubernetes in the marketplace. As developers began to create applications that would run on Kubernetes, operators developed helper applications that knew how to call the Kubernetes API and automate much of the routine work they would need to do to keep the applications stable. Many of these applications were bash scripts or helper containers running in a cluster.

In 2016, a key group of Kubernetes contributors, led by CoreOS (now Red Hat), positioned an Operator pattern to allow for easier development and implementation of Kubernetes applications. The Operator pattern outlined a way to package, deploy, and maintain an application that is integrated with the Kubernetes API and client tooling such as kubectl. Using an Operator, an application developer could natively create an application that could run in Kubernetes, be integrated with the existing Kubernetes process, and embed institutional knowledge. This knowledge wasn’t limited to deploying the application but also allowed for smooth upgrades, reconciliation across disparate services, custom scaling processes, and embedding observability into the complex system, which drove the acceptance of the framework into the Kubernetes ecosystem.

The goal of this chapter is not to teach you how to ...

Get Kubernetes Best Practices, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.