Kubernetes, or K8s, is one of the most powerful open source container orchestration systems — especially for its automatic implementation of a desired state. In other words, as an admin, you get to specify how you want your application and cluster to behave, and the control plane executes it for you using a feedback loop. Pretty neat, right?
The two key methods that enable complex operational task management in Kubernetes are controllers and operators. Both ensure that cluster resources conform to a desired state, but they play different parts within the Kubernetes ecosystem. If this distinction feels confusing, that’s because the differences between controllers and operators can be quite intricate! Especially since operators are a subcategory of controllers. (And hopefully, this article can help.)
Read on for a closer look at how Kubernetes controllers and operators work. We’ll define their key features and list their use cases.