Kubernetes Controller vs. Kubernetes Operator?

As I understand it, the goal of the Kubernetes controller is to make sure that the current state is equal to the desired state. However, Kubernetes Operator does the same job.

The list of controllers in the Control-plane:

  • deployment
  • Replicaset
  • Statefulset
  • Daemonset
  • etc

From a Google search, I found out that there are K8s operators such as

  • Etcd statement
  • Prometheus Operator
  • Kong Operators

However, I could not understand why this cannot be done using the controller?

Does the operator supplement the controllers?

What is the difference between these two designs as a goal and functionality.

What specific things do you need to keep in mind in order to choose between the Controller and the Operator? ?

+37
source share
2 answers

, " kubernetes" CoreOS

- , API Kubernetes , Kubernetes. Kubernetes, , .

, kubernetes - , kubernetes, API Kubernetes , Prometheus etcd.

: - , .

Github , . :

, . , : + API + .

CRD. ( watch, diff, action).

2

, .

+39

.

, ReplicaSet ( ), :

  1. api- Kube.
  2. kube-api
    • , RBAC RS
  3. , ETCD - ,

Kubernetes ETCD . ReplicaSet ETCD (, CRUD ReplicataSets) ..

, , Kubernetes. . Kubernetes CRD, CRD, , (, ) kubernetes. , Kubernetes CRUD Kubernetes, CRD. , Kong API API Kong, Kubernetes API CRD.

+3

Source: https://habr.com/ru/post/1690902/


All Articles