- Operators automate managing the entire lifecycle of distributed stateful applications deployed in the cluster. K8s cannot do this natively as it requires application specific knowledge to do so.
- Operators are specific to the stateful application they manage. This is because different stateful applications like MySQL, ElasticSearch, etc. have different ways of setting up a distributed DB.
- Operators use CRDs to extend the K8s API. So, we have operators for MySQL, Prometheus, Postgres, etc.
- Operators monitor the stateful resources like a controller and makes the necessary changes if required.
- Operator for a stateful application is built by experts in that application. The operator contains information like:
- How to setup a multi-instance cluster?
- How to run the cluster?
- How to sync data between instances?
- How to update the application instances?
- Operators can be looked up on OperatorHub. These are built by the community.
Kubernetes Operator simply explained in 10 mins