polettix / ETOOBUSY

GitHub Pages with Jekyll for the impatient
https://github.polettix.it/ETOOBUSY/
Other
6 stars 1 forks source link

Kubernetes Operators #6

Closed polettix closed 4 years ago

polettix commented 4 years ago

Introducing Operators: Putting Operational Knowledge into Software

An Operator is an application-specific controller that extends the Kubernetes API to create, configure, and manage instances of complex stateful applications on behalf of a Kubernetes user. It builds upon the basic Kubernetes resource and controller concepts but includes domain or application-specific knowledge to automate common tasks.

What is an Operator

The goal of an Operator is to put operational knowledge into software. Previously this knowledge only resided in the minds of administrators, various combinations of shell scripts or automation software like Ansible. It was outside of your Kubernetes cluster and hard to integrate. With Operators, CoreOS changed that.

Operators implement and automate common Day-1 (installation, configuration, etc) and Day-2 (re-configuration, update, backup, failover, restore, etc.) activities in a piece of software running inside your Kubernetes cluster, by integrating natively with Kubernetes concepts and APIs. We call this a Kubernetes-native application. With Operators you can stop treating an application as a collection of primitives like Pods, Deployments, Services or ConfigMaps, but instead as a single object that only exposes the knobs that make sense for the application.

Operator pattern (from kubernetes documentation):

Operators are software extensions to Kubernetes that make use of custom resources to manage applications and their components. Operators follow Kubernetes principles, notably the control loop.

Custom resources are extensions of the Kubernetes API.

polettix commented 4 years ago

Post ready for publishing on 2020-01-12

polettix commented 4 years ago

Published