[[Conference/DevOps Pro]]
[[Marcel Müller]], Platform Engineer at [[Giant Swarm]]
![[k8s custom resources.png]]
Controller pattern
- A controller watches at least one k6s resource type and has the goal of making it closer to the desired state
- If the desired state is 3 replicas and there are only 2 that are up, the controller starts up another.
k8s operator
- clients of k8s API that act as controllers for a custom resource
Prometheus operator
Should I use an operator?
- Advice: Yes, if the maintainer of the project has created the operator.
- Caution: Operators are opinionated.
Should I BUILD my own operator?
- Usually, no. Other tools might be better for the job, like:
- Webhooks (OPA, Kyverno)
- Deployment tooling (Helm, ArgoCD, Flux)
- Autoscalers (KEDA)
Operators aren't the be all and end all.
`[^operator]: Müller, M. (2021). _[[Kubernetes Operators - what they are and why you would need them|Kubernetes operator: What they are and why you would need them]]_. DevOps Pro 2021 Conference.`