What Are Kubernetes Operators?

Operators are a standard application design pattern in Kubernetes. There is no "operator component." An operator consists of a combination of two real Kubernetes objects: controllers and custom resources.

Kubernetes operators are a simple way to start complex applications inside Kubernetes. Complex, multitiered applications must manage things at a higher level. Operators solve this management problem. Other approaches to Kubernetes deployment, including Helm and Kustomize, focus on installing multiple objects at the same time. The advantage of operators is that they handle not just complex application installation, but also the entire application lifecycle, including complex upgrades. For more information, see Operators.

As indicated earlier, operators consist of Custom Resources (CRs) and Controllers. Conceptually, you can think of CRs as the plan or blueprint for building and maintaining the various tiers of an application. Conceptually, the controller is the actual builder that builds what is specified in the blueprint.

This release includes the following operators for external CSpaces:
  • CSpace Operator – The CSpace operator creates CSpace namespaces for running compute applications. This CSpace points to a previously created storage cluster external to the Kubernetes cluster on which the CSpace runs.
  • Spark Operator – The Spark operator starts Spark jobs inside a previously created CSpace. A Spark job causes a Spark cluster to be created on the fly. A Spark Driver pod launches a set of Spark Executors that execute the job you want to run (such as counting digits of PI, counting words in a file, and so on).
  • Drill Operator – The Drill operator starts a set of Drillbits in a previously created CSpace.