Kubernetes scales and manages stateless applications quite easily. Stateful applications can require more work. They can be harder to dynamically manage with data intact and sometimes come with their own notion of clustering. Operators are Kubernetes agents that know how to deploy, scale, manage, back up, and even upgrade complex stateful applications. The Operator pattern was introduced by CoreOS. It has been adopted by many community projects, including Rook and Prometheus, and is supported by this spring’s release of the Operator Framework by Red Hat.
First, we offer an overview of Operators and lead a demonstration on installing and using an Operator on a OpenShift Kubernetes cluster. With an understanding of Operators in place, we then detail the Operator Framework and its main components, the Operator SDK and the lifecycle management backplane.