[[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.`