Skip to main content
This article explains the Operator Framework: what an operator is, how it relates to CustomResourceDefinitions (CRDs) and controllers, and how operators are packaged and deployed. It also includes a minimal example (CRD, controller snippet, and installation command) and guidance for deploying operators via OperatorHub and the Operator Lifecycle Manager (OLM).

What is an operator?

An operator packages Kubernetes application knowledge — the human operational procedures required to install, upgrade, back up, and recover an application — into code that runs inside the cluster. Operators combine:
  • A CustomResourceDefinition (CRD) that declares a new Kubernetes API kind.
  • One or more controllers that watch and reconcile instances of that CRD, implementing domain-specific logic.
Operators effectively bundle CRDs and controllers into a single, deployable unit so you can deliver application-specific operations in a repeatable, automated way. Common operator responsibilities:
  • Provisioning and configuring application instances (create/update).
  • Automated backups and restores.
  • Upgrades and schema migrations.
  • Failure detection and remediation.
  • Exposing operational metrics and status.
Popular operators (available on OperatorHub) include etcd, MySQL, Prometheus, Grafana, Argo CD, and Istio.

Key concepts and mapping

Minimal operator example

Below is a compact example illustrating the three parts you typically see in an operator package: the CRD YAML, a simplified Go controller snippet, and the command used to deploy the operator manifest. CRD example:
Controller (Go) — simplified snippets:
Deploy the operator manifest (example):

Example: etcd operator and higher-level behaviors

The etcd operator is a good real-world example: when installed it creates the etcdCluster CRD, allows CRs to request etcd clusters, and runs controllers to reconcile those CRs. Operators like this often include additional subcomponents or controllers for scheduled backups, restores, and other operational flows (commonly called backup and restore operators).
A diagram of an Operator Framework showing Custom Resource Definitions (EtcdCluster, EtcdBackup, EtcdRestore) on the left and corresponding custom controllers/operators (ETCD Controller, Backup Operator, Restore Operator) on the right. The layout illustrates how CRDs map to their controllers within the operator framework.

Deploying operators from OperatorHub

OperatorHub hosts many prebuilt operators. Typical high-level steps to deploy an operator from OperatorHub: Example commands (install a specific OLM release and the etcd operator):
Operator responsibilities and implementation details vary by project. Some operators only manage lifecycle (install/upgrade), while others include complex operational logic like automated backups, restores, and recovery workflows. When evaluating an operator, review its CRDs, ClusterServiceVersion (CSV), and documentation for exact capabilities.

When operators matter for exams and practical use

For most Kubernetes certification objectives and fundamentals, focus on:
  • Understanding CRDs and how they extend the Kubernetes API.
  • How controllers watch resources and reconcile desired state.
  • How to deploy CRDs and controllers (manually or via an operator).
Operators extend those fundamentals into a packaged delivery mechanism that automates operational tasks. Studying operators is valuable when you need to manage complex applications in Kubernetes, but full operator design and implementation is a broader topic that may require additional focused learning. Thank you — that concludes this lesson on the Operator Framework.

Watch Video