Konubinix' opinionated web of thoughts

Kubernetes Operator

Fleeting

kubernetes operator are specific kubernetes controller that deal with custom resources to do things that are not possible with bare kubernetes.

most common way to deploy an operator is to add the Custom Resource Definition and its associated Controller to your cluster

https://kubernetes.io/docs/concepts/extend-kubernetes/operator/

Operators are clients of the Kubernetes API that act as controllers for a Custom Resource

https://kubernetes.io/docs/concepts/extend-kubernetes/operator/

operator pattern aims to capture the key aim of a human operator

[…]

deep knowledge of how the system ought to behave

[…]

automation to take care of repeatable tasks

[…]

automate a task beyond what Kubernetes itself provides

https://kubernetes.io/docs/concepts/extend-kubernetes/operator/

Some of the things that you can use an operator to automate include:

  • deploying an application on demand
  • taking and restoring backups of that application’s state
  • handling upgrades of the application code alongside related changes such as database schemas or extra configuration settings
  • publishing a Service to applications that don’t support Kubernetes APIs to discover them
  • simulating failure in all or part of your cluster to test its resilience
  • choosing a leader for a distributed application without an internal member election process

https://kubernetes.io/docs/concepts/extend-kubernetes/operator/

Notes linking here